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