[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] RE: Resend: RE: enable_ats_device() call site
>>> On 21.10.11 at 03:59, "Kay, Allen M" <allen.m.kay@xxxxxxxxx> wrote: >> So why does the capability to list individual devices then exist? And why > does it matter for DRHDs, but not for ATSRs? > > The difference is ATSR only is meant to communicate PCIe root ports' ATS > capability. If the root port is capable, then downstream endpoints can > enable ATS device translation cache. > > acpi_find_matched_drhd_unit() is used to find out which VT-d hardware is > servicing the endpoint device. Given drhd lists either the actually PCI > endpoints or include_all, we have to match the actual BDF of the device > passed in with devices we recorded for that VT-d HW. > > acpi_find_matched_astr_unit() is used to find out if the endpoint device is > under a ATS capable PCIe root port or not. ASTR information is remembered as > secondary and subsidiary bus ranges. All we have to do is the match the > device's bus number with a root ports bus range. Matching the actual device > in this case, will only match the root port device itself, this is what we > recorded in acpi_parse_dev_scope(), which should not happen since we don't > assign a root port to a guest. Even if we do, checking for ATS capability is > meaningless since root port will not have device translation cache. Okay, so I'll remove that part then and re-submit both patches. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |