Hi, While wading through the qemu acpi and seabios aml code I've figured the qemu acpi codebase is *way* too messy. So this patch series switches the apci code to the memory api. That alone cleans up quite a bit and makes the code in hw/acpi.c more self-contained. As bonus everything shows up nicely in "info mtree" now, so you can compare that with /proc/ioports content of the guest for trouble-shooting.
v2 of the series has been rebased to latest master (-rc1), post q35 merge. The separate q35 patches have been squashed in. First three patches have been updated to use set_address and set_enable instead of removing and adding memory regions to the parent. cheers, Gerd Gerd Hoffmann (18): apci: switch piix4 to memory api apci: switch ich9 to memory api apci: switch vt82c686 to memory api apci: switch timer to memory api apci: switch cnt to memory api apci: switch evt to memory api acpi: cleanup piix4 memory region acpi: cleanup vt82c686 memory region apci: switch ich9 gpe to memory api apci: switch ich9 smi to memory api acpi: cleanup ich9 memory region acpi: switch smbus to memory api acpi: fix piix4 smbus mapping apci: switch piix4 gpe to memory api acpi: remove acpi_gpe_blk apci: switch piix4 pci hotplug to memory api q35: update lpc pci config space according to configured devices acpi: drop debug port hw/acpi.c | 113 ++++++++++++++++++++++++++----- hw/acpi.h | 18 +++-- hw/acpi_ich9.c | 199 ++++++++++++++---------------------------------------- hw/acpi_ich9.h | 3 + hw/acpi_piix4.c | 183 +++++++++++++++++++++++---------------------------- hw/ich9.h | 1 + hw/lpc_ich9.c | 29 ++++++++ hw/pm_smbus.c | 17 ++++- hw/pm_smbus.h | 3 +- hw/smbus_ich9.c | 64 ++++-------------- hw/vt82c686.c | 102 +++++------------------------ 11 files changed, 317 insertions(+), 415 deletions(-)