NOTE to maintaner: Needs updating DSDT hex.generated and ACPI tests blobs Changes since v4: * split PCI0._CRS patch onto simple ones * move _CRS into SSDT * a series to drop manual hole punching in PIIX4 _CRS * add test case for ACPI table with coldplugged bridge * fixed up current algorithm rewrite fallout on Q35 machine, see for detailed changelog in "pc: acpi-build: simplify PCI bus tree generation" * fixed minor mst's notes on v4 in PCI patches
Remaining pieces of refactoring PC/Q35 machines to AML API. There is no more template patching left. There are TPM and DSDT table blobs left to convert but that's left for future. Boot tested with XP3/WS2012R2, correctnes of resource reservation was checked with WS2012R2 help. reference to previous iteration: https://www.mail-archive.com/qemu-devel@nongnu.org/msg280791.html tree for testing: https://github.com/imammedo/qemu.git ASL_API_v5 for browsing: https://github.com/imammedo/qemu/commits/ASL_API_v5 Igor Mammedov (16): pc: acpi-build: create PCI0._CRS dynamically pc: acpi: drop manual hole punching for PCI hotplug resources pc: acpi: drop manual hole punching for CPU hotplug resources pc: acpi: drop manual hole punching for GPE0 resources pc: acpi-build: drop remaining ssdt_misc template acpi: add acpi_irq_no_flags() term pc: export applesmc IO port/len pc: acpi-build: drop template patching and create Device(SMC) dynamically tests: ACPI test blobs update due to PCI0._CRS changes tests: bios-tables-test: add support for testing bridges tests: add ACPI blobs for qemu with bridge cases pc: acpi-build: simplify PCI bus tree generation tests: ACPI: update pc/SSDT.bridge due to new alg of PCI tree creation pc: acpi-build: drop template patching and create PCI bus tree dynamically pc: acpi: remove not used anymore ssdt-[misc|pcihp].hex.generated blobs acpi: make build_*() routines static to aml-build.c hw/acpi/aml-build.c | 41 ++- hw/i386/Makefile.objs | 2 - hw/i386/acpi-build.c | 491 ++++++++++++----------------------- hw/i386/acpi-dsdt-isa.dsl | 11 - hw/i386/acpi-dsdt-pci-crs.dsl | 92 ------- hw/i386/acpi-dsdt.dsl | 46 ---- hw/i386/q35-acpi-dsdt.dsl | 19 -- hw/i386/ssdt-misc.dsl | 40 --- hw/i386/ssdt-misc.hex.generated | 139 ---------- hw/i386/ssdt-pcihp.dsl | 100 ------- hw/i386/ssdt-pcihp.hex.generated | 251 ------------------ hw/misc/applesmc.c | 5 +- include/hw/acpi/aml-build.h | 17 +- include/hw/isa/isa.h | 11 +- tests/acpi-test-data/pc/DSDT | Bin 3415 -> 2970 bytes tests/acpi-test-data/pc/SSDT | Bin 2374 -> 2480 bytes tests/acpi-test-data/pc/SSDT.bridge | Bin 0 -> 4351 bytes tests/acpi-test-data/q35/DSDT | Bin 8005 -> 7608 bytes tests/acpi-test-data/q35/SSDT | Bin 578 -> 685 bytes tests/acpi-test-data/q35/SSDT.bridge | Bin 0 -> 702 bytes tests/bios-tables-test.c | 45 +++- 21 files changed, 250 insertions(+), 1060 deletions(-) delete mode 100644 hw/i386/acpi-dsdt-pci-crs.dsl delete mode 100644 hw/i386/ssdt-misc.dsl delete mode 100644 hw/i386/ssdt-misc.hex.generated delete mode 100644 hw/i386/ssdt-pcihp.dsl delete mode 100644 hw/i386/ssdt-pcihp.hex.generated create mode 100644 tests/acpi-test-data/pc/SSDT.bridge create mode 100644 tests/acpi-test-data/q35/SSDT.bridge -- 1.8.3.1