From: miaoyubo <miaoy...@huawei.com> Currently pxb-pcie is not supported by arm, the reason for it is pxb-pcie is not described in DSDT table and only one main host bridge is described in acpi tables, which means it is not impossible to present different io numas for different devices, especially host-passthrough devices.
This series of patches make arm to support PXB-PCIE. Users can configure pxb-pcie with certain numa, Example command is: -device pxb-pcie,id=pci.7,bus_nr=128,numa_node=0,bus=pcie.0,addr=0x9 Since the bus of pxb-pcie is root bus, devices could not be plugged into pxb-pcie directly,pcie-root-port or pci-bridge should be defined and plugged on pxb-pcie, then the device could be plugged onto the pcie-root-port or pci-bridge. With the patches,io numa could be presented to the guest by define a pxb-pcie with the numa and plug the device on it. miaoyubo (3): acpi:Extract two APIs from acpi_dsdt_add_pci acpi:pci-expender-bus: Add pxb support for arm ACPI/unit-test: Add a new test for pxb-pcie for arm hw/arm/virt-acpi-build.c | 240 ++++++++++++++++++++++++--------- hw/pci-host/gpex.c | 4 + include/hw/arm/virt.h | 7 + tests/data/acpi/virt/DSDT.pxb | Bin 0 -> 34209 bytes tests/qtest/bios-tables-test.c | 54 +++++++- 5 files changed, 238 insertions(+), 67 deletions(-) create mode 100644 tests/data/acpi/virt/DSDT.pxb -- 2.19.1