[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/11] QOM'ify PIIX3 southbridge
From: |
Bernhard Beschow |
Subject: |
[PATCH 00/11] QOM'ify PIIX3 southbridge |
Date: |
Wed, 13 Jul 2022 10:17:24 +0200 |
Similar to PIIX4 this series QOM'ifies internal device creation for PIIX3.
This reduces the delta between the implementations of PIIX3 and PIIX4 and
therefore might allow to merge both implementations in the future.
There were two challenges in this series:
First, QEMU considers the ACPI and USB functions to be optional in PIIX3.
When instantiating those with object_initialize_child(), they need to be
unparented in the realize function to prevent an assertion (see respective
commit messages).
Second, the PIC used to be instantiated outside of the southbridge while
some sub functions require a PIC with populated qemu_irqs. This has been
solved by introducing a proxy PIC which furthermore allows PIIX3 to be
agnostic towards the virtualization technology used (KVM, TCG, Xen).
Testing done:
* make check
* make check-avocado
* Boot live CD:
* qemu-system-x86_64 -M pc -m 2G -accel kvm -cpu host -cdrom
manjaro-kde-21.3.2-220704-linux515.iso
* qemu-system-x86_64 -M q35 -m 2G -accel kvm -cpu host -cdrom
manjaro-kde-21.3.2-220704-linux515.iso
Bernhard Beschow (11):
hw/i386/pc: QOM'ify DMA creation
hw/i386/pc_piix: Allow for setting properties before realizing PIIX3
southbridge
hw/isa/piix3: QOM'ify USB controller creation
hw/isa/piix3: QOM'ify ACPI controller creation
hw/i386/pc: QOM'ify RTC creation
hw/i386/pc: No need for rtc_state to be an out-parameter
hw/intc/i8259: Introduce i8259 proxy "isa-pic"
hw/isa/piix3: QOM'ify ISA PIC creation
hw/isa/piix3: QOM'ify IDE controller creation
hw/isa/piix3: Wire up ACPI interrupt internally
hw/isa/piix3: Remove extra ';' outside of functions
hw/i386/Kconfig | 1 -
hw/i386/pc.c | 17 ++++---
hw/i386/pc_piix.c | 70 ++++++++++++++++-------------
hw/i386/pc_q35.c | 3 +-
hw/intc/i8259.c | 27 +++++++++++
hw/isa/Kconfig | 1 +
hw/isa/lpc_ich9.c | 11 +++++
hw/isa/piix3.c | 84 ++++++++++++++++++++++++++++++++---
include/hw/i386/ich9.h | 2 +
include/hw/i386/pc.h | 2 +-
include/hw/intc/i8259.h | 14 ++++++
include/hw/southbridge/piix.h | 16 ++++++-
12 files changed, 201 insertions(+), 47 deletions(-)
--
2.37.1
- [PATCH 00/11] QOM'ify PIIX3 southbridge,
Bernhard Beschow <=
- [PATCH 01/11] hw/i386/pc: QOM'ify DMA creation, Bernhard Beschow, 2022/07/13
- [PATCH 04/11] hw/isa/piix3: QOM'ify ACPI controller creation, Bernhard Beschow, 2022/07/13
- [PATCH 06/11] hw/i386/pc: No need for rtc_state to be an out-parameter, Bernhard Beschow, 2022/07/13
- [PATCH 09/11] hw/isa/piix3: QOM'ify IDE controller creation, Bernhard Beschow, 2022/07/13
- [PATCH 05/11] hw/i386/pc: QOM'ify RTC creation, Bernhard Beschow, 2022/07/13
- [PATCH 08/11] hw/isa/piix3: QOM'ify ISA PIC creation, Bernhard Beschow, 2022/07/13
- [PATCH 07/11] hw/intc/i8259: Introduce i8259 proxy "isa-pic", Bernhard Beschow, 2022/07/13
- [PATCH 11/11] hw/isa/piix3: Remove extra ';' outside of functions, Bernhard Beschow, 2022/07/13