[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.