[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/mcfg: Call PHYSDEVOP_pci_mmcfg_reserved before PCI enumeration
>>> On 22.09.15 at 14:35, <eswierk@xxxxxxxxxxxxxxxxxx> wrote: > On Mon, Sep 21, 2015 at 10:21 PM, Jan Beulich <jbeulich@xxxxxxxx> wrote: >> I don't follow: Surely Dom0 first establishes MCFG areas to be used, and >> only then scans the buses for devices, resulting in them to be reported to >> the hypervisor? > > That seems like a reasonable expectation, but while Linux 4.2 finds > the mmcfg areas before scanning the PCI bus, it doesn't tell Xen about > them until later: > > acpi_init() first calls pci_mmcfg_late_init(), which searches ACPI for > mmcfgs and checks that they are reserved in E820 or ACPI (vs > pci_mmcfg_early_init() which searches both ACPI and hardcoded host > bridges but checks only E820 for reservations); then calls > acpi_scan_init() which scans the buses and calls the pci_device_add > hypercall for each device. The pci_mmcfg_reserved hypercall is invoked > later by xen_mcfg_late(). > > So if the contract is that Dom0 tells Xen about mmcfgs before the > devices they cover, then Linux ought to call pci_mmcfg_reserved from > (or immediately after) both pci_mmcfg_early_init() and > pci_mmcfg_late_init(). Correct, albeit in reality whether Xen gets notified matters only when a range is marked properly in ACPI, but is not reported through E820 (since the latter Xen has in hands for checking anyway). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |