mbox series

[v2,00/20] PC and ICH9 cleanups

Message ID 20230131115326.12454-1-shentey@gmail.com (mailing list archive)
Headers show
Series PC and ICH9 cleanups | expand

Message

Bernhard Beschow Jan. 31, 2023, 11:53 a.m. UTC
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%)