[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH-for-9.1 00/29] hw/i386/pc: Decouple ISA vs PCI-based machines
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH-for-9.1 00/29] hw/i386/pc: Decouple ISA vs PCI-based machines |
Date: |
Thu, 28 Mar 2024 16:54:08 +0100 |
Hi Igor,
This is the first steps to decouple the isapc VS q35/i440fx
machines. A new TYPE_PC_PCI_MACHINE is introduced to help
differentiating. Fields unrelated to the legacy isapc are
moved to the new PcPciMachineState structure.
More work remain in hw/i386/pc_piix.c so we can build a
binary with only CONFIG_ISAPC enabled.
Based-on: <20240327095124.73639-1-philmd@linaro.org>
"hw/i386: Remove deprecated pc-i440fx-2.0 -> 2.3 machines"
Philippe Mathieu-Daudé (29):
hw/i386/pc: Declare CPU QOM types using DEFINE_TYPES() macro
hw/i386/pc: Extract pc_machine_is_pci_enabled() helper
hw/i386/pc: Pass base machine type as argument to DEFINE_PC_MACHINE()
hw/i386/pc: Introduce PC_PCI_MACHINE QOM type
hw/i386/pc: Remove PCMachineClass::pci_enabled field
hw/i386/pc: Move pci_root_uid field to PcPciMachineClass
hw/i386/pc: Call fw_cfg_add_extra_pci_roots() in pc_pci_machine_done()
hw/i386/pc: Move CXLState to PcPciMachineState
hw/i386/pc: Pass PCMachineState argument to acpi_setup()
hw/i386/pc: Remove PCMachineClass::has_acpi_build field
hw/i386/pc: Move acpi_setup() call to pc_pci_machine_done()
hw/i386/pc: Move acpi_build_enabled to PcPciMachineState
hw/i386/pc: Remove non-PCI code from pc_system_firmware_init()
hw/i386/pc: Move pc_system_flash_create() to pc_pci_machine_initfn()
hw/i386/pc: Move FW/pflash related fields to PcPciMachineState
hw/i386/pc: Move south-bridge related fields to PcPciMachine
hw/i386/pc: Inline gigabyte_align()
hw/i386/pc: Inline has_reserved_memory()
hw/i386/pc: Pass PcPciMachineState argument to CXL helpers
hw/i386/pc: Pass PcPciMachineState argument to pc_pci_hole64_start()
hw/i386/fw_cfg: Include missing 'qapi-types-machine.h' header
hw/i386/fw_cfg: Define fw_cfg_build_smbios() stub
hw/i386/fw_cfg: Inline smbios_defaults()
hw/i386/fw_cfg: Inline smbios_legacy_mode()
hw/i386/fw_cfg: Replace smbios_defaults() by !smbios_legacy_mode()
hw/i386/fw_cfg: Factor fw_cfg_build_smbios_legacy() out
hw/i386/pc: Call fw_cfg_build_smbios_legacy() in pc_machine_done()
hw/i386/pc: Rename pc_init1() -> pc_piix_init()
hw/i386/pc: Move ISA-only PC machine to pc_isa.c
MAINTAINERS | 1 +
hw/i386/acpi-build.h | 3 +-
hw/i386/fw_cfg.h | 2 +
include/hw/i386/pc.h | 78 +++++++-------
hw/i386/acpi-build.c | 34 ++++--
hw/i386/fw_cfg-smbios-stub.c | 19 ++++
hw/i386/fw_cfg.c | 35 +++---
hw/i386/pc.c | 199 ++++++++++++++++++++++-------------
hw/i386/pc_isa.c | 33 ++++++
hw/i386/pc_piix.c | 91 +++++++---------
hw/i386/pc_q35.c | 12 ++-
hw/i386/pc_sysfw.c | 68 +++++-------
hw/i386/xen/xen-hvm.c | 3 +-
hw/isa/piix.c | 2 +-
hw/pci-host/i440fx.c | 4 +-
hw/pci-host/q35.c | 2 +-
hw/i386/meson.build | 2 +
17 files changed, 342 insertions(+), 246 deletions(-)
create mode 100644 hw/i386/fw_cfg-smbios-stub.c
create mode 100644 hw/i386/pc_isa.c
--
2.41.0
- [RFC PATCH-for-9.1 00/29] hw/i386/pc: Decouple ISA vs PCI-based machines,
Philippe Mathieu-Daudé <=
- [RFC PATCH-for-9.1 01/29] hw/i386/pc: Declare CPU QOM types using DEFINE_TYPES() macro, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 02/29] hw/i386/pc: Extract pc_machine_is_pci_enabled() helper, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 03/29] hw/i386/pc: Pass base machine type as argument to DEFINE_PC_MACHINE(), Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 04/29] hw/i386/pc: Introduce PC_PCI_MACHINE QOM type, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 05/29] hw/i386/pc: Remove PCMachineClass::pci_enabled field, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 06/29] hw/i386/pc: Move pci_root_uid field to PcPciMachineClass, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 07/29] hw/i386/pc: Call fw_cfg_add_extra_pci_roots() in pc_pci_machine_done(), Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 08/29] hw/i386/pc: Move CXLState to PcPciMachineState, Philippe Mathieu-Daudé, 2024/03/28
- [RFC PATCH-for-9.1 09/29] hw/i386/pc: Pass PCMachineState argument to acpi_setup(), Philippe Mathieu-Daudé, 2024/03/28