This series contains some cleanups I came across when working on the PC
machines. It consists of reducing the usage of global variables and
eliminating some redundancies.
The ICH9 cleanups include further QOM'ification, making it more self-contained,
and reducing its x86/pc dependencies.
Testing done:
* `make check`
' `make check-avocado`
* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
manjaro-kde-21.3.2-220704-linux515.iso`
* `qemu-system-x86_64 -M pc -m 2G -cdrom manjaro-kde-21.3.2-220704-linux515.iso`
v2:
* Factor out 'hw/i386/pc_q35: Reuse machine parameter' from 'hw/i386/pc_q35:
Resolve redundant q35_host variable' (Zoltan)
* Lower type of phb to Object in 'hw/i386/pc_q35: Resolve redundant q35_host
variable' (Zoltan)
* Add ICH9 cleanups
Bernhard Beschow (20):
hw/pci-host/i440fx: Inline sysbus_add_io()
hw/pci-host/q35: Inline sysbus_add_io()
hw/i386/pc_q35: Reuse machine parameter
hw/i386/pc_q35: Resolve redundant q35_host variable
hw/i386/pc_{q35,piix}: Reuse MachineClass::desc as SMB product name
hw/i386/pc_{q35,piix}: Minimize usage of get_system_memory()
hw/i386/pc: Initialize ram_memory variable directly
hw/i386/ich9: Rename Q35_MASK to ICH9_MASK
hw/isa/lpc_ich9: Unexport PIRQ functions
hw/isa/lpc_ich9: Eliminate ICH9LPCState::isa_bus
hw/isa/lpc_ich9: Reuse memory and io address space of PCI bus
hw/i2c/smbus_ich9: Move ich9_smb_set_irq() in front of
ich9_smbus_realize()
hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it
hw/i386/pc_q35: Allow for setting properties before realizing
TYPE_ICH9_LPC_DEVICE
hw/isa/lpc_ich9: Connect pm stuff to lpc internally
hw/isa/lpc_ich9: Remove redundant ich9_lpc_reset() invocation
hw/i386/ich9: Remove redundant GSI_NUM_PINS
hw: Move ioapic*.h to intc/
hw/i386/ich9: Clean up includes
hw: Move ich9.h to southbridge/
MAINTAINERS | 2 +
include/hw/acpi/ich9.h | 6 +-
include/hw/i386/pc.h | 1 -
include/hw/i386/x86.h | 3 +-
include/hw/{i386 => intc}/ioapic.h | 6 +-
include/hw/{i386 => intc}/ioapic_internal.h | 8 +--
include/hw/{i386 => southbridge}/ich9.h | 35 ++++------
hw/acpi/ich9.c | 10 +--
hw/acpi/ich9_tco.c | 2 +-
hw/i2c/smbus_ich9.c | 39 +++++------
hw/i386/acpi-build.c | 3 +-
hw/i386/kvm/ioapic.c | 3 +-
hw/i386/pc.c | 8 +--
hw/i386/pc_piix.c | 8 +--
hw/i386/pc_q35.c | 73 ++++++++++-----------
hw/intc/apic.c | 2 +-
hw/intc/ioapic.c | 4 +-
hw/intc/ioapic_common.c | 4 +-
hw/isa/lpc_ich9.c | 40 +++++------
hw/pci-bridge/i82801b11.c | 2 +-
hw/pci-host/i440fx.c | 5 +-
hw/pci-host/q35.c | 6 +-
target/i386/whpx/whpx-all.c | 2 +-
tests/qtest/tco-test.c | 2 +-
24 files changed, 127 insertions(+), 147 deletions(-)
rename include/hw/{i386 => intc}/ioapic.h (93%)
rename include/hw/{i386 => intc}/ioapic_internal.h (96%)
rename include/hw/{i386 => southbridge}/ich9.h (91%)
--
2.39.1