Changelog: v3: * drop unnecessary expected blobs v2: * simplify [1/5] and rename property to x-native-hotplug (CC stable) * [4/5] - rename function parameter to reflect actual action - drop local 'hotplug' variable and opencode statement * test with SeaBIOS/OVMF and Linux guest, Windows also works with SeaBIOS, can't install it in EFI mode on current master (it's stuck when formatting disk/or copying files to hdd). Attempt [1] to fix I/O allocation with the 'reserve-io' hint on each pcie-root-port resulted in regression [2-3]. This patchset aims to fix it by addressing the root cause of the problem - the disabled PCIe Slot HPC bit. This series enables PCIe Slot HPC bit which allows UEFI to enumerate and initialize resources on ports, instead we hide PCIe hotplug capability in host-bridge's ACPI _OSC method, which effectively make guest to use ACPI based hotplug on host-bridge attached hierarchy. [1] 'hw/pcie-root-port: Fix hotplug for PCI devices requiring IO' [2] https://gitlab.com/qemu-project/qemu/-/issues/641 [3] https://bugzilla.redhat.com/show_bug.cgi?id=2006409
Igor Mammedov (2): pcie: rename 'native-hotplug' to 'x-native-hotplug' tests: bios-tables-test update expected blobs Julia Suvorova (3): hw/acpi/ich9: Add compat prop to keep HPC bit set for 6.1 machine type bios-tables-test: Allow changes in DSDT ACPI tables hw/i386/acpi-build: Deny control on PCIe Native Hot-plug in _OSC include/hw/acpi/ich9.h | 1 + hw/acpi/ich9.c | 18 ++++++++++++++++++ hw/i386/acpi-build.c | 12 ++++++++---- hw/i386/pc.c | 2 ++ hw/i386/pc_q35.c | 9 +++++++-- hw/pci/pcie_port.c | 2 +- tests/data/acpi/q35/DSDT | Bin 8289 -> 8289 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9614 -> 9614 bytes tests/data/acpi/q35/DSDT.bridge | Bin 11003 -> 11003 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8753 -> 8753 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9943 -> 9943 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 8364 -> 8364 bytes tests/data/acpi/q35/DSDT.ivrs | Bin 8306 -> 8306 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9648 -> 9648 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 9419 -> 9419 bytes tests/data/acpi/q35/DSDT.multi-bridge | Bin 8583 -> 8583 bytes tests/data/acpi/q35/DSDT.nohpet | Bin 8147 -> 8147 bytes tests/data/acpi/q35/DSDT.numamem | Bin 8295 -> 8295 bytes tests/data/acpi/q35/DSDT.tis.tpm12 | Bin 8894 -> 8894 bytes tests/data/acpi/q35/DSDT.tis.tpm2 | Bin 8894 -> 8894 bytes tests/data/acpi/q35/DSDT.xapic | Bin 35652 -> 35652 bytes 21 files changed, 37 insertions(+), 7 deletions(-) -- 2.27.0