[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Xen, MCFG acpi table and E820 address map

>>> On 04.09.13 at 03:13, Santosh Jodh <Santosh.Jodh@xxxxxxxxxx> wrote:
> Xen will use information from MCFG acpi table to access PCIe extended 
> configuration space. However, Xen validates MCFG table by making sure that 
> the addresses specified in the MCFG table is correctly marked as reserved in 
> the E820 address map. If it is not, the MCFG table is ignored - thereby 
> preventing Xen from accessing PCIe extended configuration space.
> I recently came across a workstation class system that supports VT-d. This 
> system BIOS has a valid MCFG table. The BIOS does NOT report the MCFG 
> addresses as reserved in the E820 address map. However, the addresses ARE 
> claimed as reserved via the ACPI motherboard resource devnode (PNP0C01) 
> mechanism.
> On this system, Xen ignores the MCFG table as it fails the E820 check. dom0 
> during early boot does the same thing. However, once ACPI driver is online, 
> dom0 validates the MCFG table against the motherboard resource devnode and 
> then accepts the MCFG table. You now end up with a situation where dom0 can 
> correctly enumerate and use PCIe devices but Xen cannot access extended 
> configuration space.
> [...]
> Is this machine an exception? As we move forward, are we likely to see more 
> such systems (relying more on ACPI and less on E820 for reserving the MCFG 
> range)? Is it worth adding a mmcfg=force option to xen to ignore E820 
> validation result?

No, this is quite normal, and Xen has code to deal with that
(PHYSDEVOP_pci_mmcfg_reserved). While our (forward ported)
kernels have been making use of this since 2.6.27, I suppose
upstream still doesn't (perhaps not the least because integration
of this might once again raise concerns about Xen needing code
changes in too many different places).

For reference I'm attaching the diff of the respective source file,
in case someone finds this useful.


Attachment: mmcfg-reserved.patch
Description: Text document

Xen-devel mailing list



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