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.
I've fixed one or another bug along the way. The patch series applies on top of Jason's q35 patch series. I've kept all ich9 bits as separate patches though, so when simply dropping all ich9 patches the resulting series should apply to master just fine. Comments? Reviews? cheers, Gerd Gerd Hoffmann (20): 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 timer to memory api [ich9] apci: switch cnt to memory api apci: switch cnt to memory api [ich9] apci: switch evt to memory api apci: switch evt to memory api [ich9] 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 hw/acpi.c | 113 +++++++++++++++++++++++++++------ hw/acpi.h | 18 +++--- hw/acpi_ich9.c | 188 ++++++++++++++----------------------------------------- hw/acpi_ich9.h | 3 + hw/acpi_piix4.c | 166 ++++++++++++++++++++++++------------------------- 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 | 95 ++++------------------------ 11 files changed, 308 insertions(+), 389 deletions(-)