[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [PATCH v2 00/20] hw/i386/pc: Split PIIX3 southbridge from i440FX northbridge
- To: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>, Peter Maydell <peter.maydell@xxxxxxxxxx>
- From: Aleksandar Markovic <aleksandar.m.mail@xxxxxxxxx>
- Date: Sat, 19 Oct 2019 17:15:01 +0200
- Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, "Michael S. Tsirkin" <mst@xxxxxxxxxx>, "qemu-devel@xxxxxxxxxx" <qemu-devel@xxxxxxxxxx>, Eduardo Habkost <ehabkost@xxxxxxxxxx>, Hervé Poussineau <hpoussin@xxxxxxxxxxx>, Aleksandar Markovic <amarkovic@xxxxxxxxxxxx>, Igor Mammedov <imammedo@xxxxxxxxxx>, Anthony Perard <anthony.perard@xxxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxx>, Aurelien Jarno <aurelien@xxxxxxxxxxx>, Richard Henderson <rth@xxxxxxxxxxx>
- Delivery-date: Sat, 19 Oct 2019 15:15:17 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Friday, October 18, 2019, Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> wrote:
Changes since v1 [0]:
- Removed patch reintroducing DO_UPCAST() use (thuth)
- Took various patches out to reduce series (thuth)
- Added review tags (thanks all for reviewing!)
As far as I can tell, a handful of checkpatch warnings are all false positives.
Peter, I am fine with Philippe (or Herve for that matter) submitting this series as a pull request (providing that some basic relevant Malta tests are done), and, if you are fine too, I think we can proceed.
Integrating this series will make device model for Malta better (closer to real hardware), and also help Philippe continue working on other device cleanups.
Aleksandar
$ git backport-diff -u pc_split_i440fx_piix-v1 -r mc146818rtc_init..
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/20:[----] [--] 'MAINTAINERS: Keep PIIX4 South Bridge separate from PC Chipsets'
002/20:[0011] [FC] 'piix4: add Reset Control Register'
003/20:[0014] [FC] 'piix4: add a i8259 interrupt controller as specified in datasheet'
004/20:[----] [--] 'Revert "irq: introduce qemu_irq_proxy()"'
005/20:[----] [--] 'piix4: rename PIIX4 object to piix4-isa'
006/20:[----] [-C] 'piix4: add a i8257 dma controller as specified in datasheet'
007/20:[----] [-C] 'piix4: add a i8254 pit controller as specified in datasheet'
008/20:[----] [-C] 'piix4: add a mc146818rtc controller as specified in datasheet'
009/20:[----] [--] 'hw/mips/mips_malta: Create IDE hard drive array dynamically'
010/20:[----] [--] 'hw/mips/mips_malta: Extract the PIIX4 creation code as piix4_create()'
011/20:[----] [--] 'hw/isa/piix4: Move piix4_create() to hw/isa/piix4.c'
012/20:[----] [--] 'hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers'
013/20:[----] [--] 'hw/pci-host/piix: Extract piix3_create()'
014/20:[0010] [FC] 'hw/pci-host/piix: Move RCR_IOPORT register definition'
015/20:[----] [--] 'hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers'
016/20:[----] [--] 'hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h'
017/20:[----] [--] 'hw/pci-host/piix: Fix code style issues'
018/20:[0012] [FC] 'hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c'
019/20:[----] [--] 'hw/pci-host: Rename incorrectly named 'piix' as 'i440fx''
020/20:[----] [-C] 'hw/pci-host/i440fx: Remove the last PIIX3 traces'
Previous cover:
This series is a rework of "piix4: cleanup and improvements" [1]
from Hervé, and my "remove i386/pc dependency: PIIX cleanup" [2].
Still trying to remove the strong X86/PC dependency 2 years later,
one step at a time.
Here we split the PIIX3 southbridge from i440FX northbridge.
The i440FX northbridge is only used by the PC machine, while the
PIIX southbridge is also used by the Malta MIPS machine.
This is also a step forward using KConfig with the Malta board.
Without this split, it was impossible to compile the Malta without
pulling various X86 pieces of code.
The overall design cleanup is not yet perfect, but enough to post
as a series.
Now that the PIIX3 code is extracted, the code duplication with the
PIIX4 chipset is obvious. Not worth improving for now because it
isn't broken.
[0] https://lists.gnu.org/archive/html/qemu-devel/2019-10/msg03685.html
[1] https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg500737.html
[2] https://www.mail-archive.com/qemu-devel@xxxxxxxxxx/msg504081.html
Based-on: <20191018133547.10936-1-philmd@xxxxxxxxxx>
mc146818rtc: Allow call object_initialize(MC146818_RTC) instead of rtc_init()
https://mid.mail-archive.com/20191018133547.10936-1-philmd@redhat.com
Hervé Poussineau (5):
piix4: Add the Reset Control Register
piix4: Add a i8259 Interrupt Controller as specified in datasheet
piix4: Rename PIIX4 object to piix4-isa
piix4: Add a i8257 DMA Controller as specified in datasheet
piix4: Add a i8254 PIT Controller as specified in datasheet
Philippe Mathieu-Daudé (15):
MAINTAINERS: Keep PIIX4 South Bridge separate from PC Chipsets
Revert "irq: introduce qemu_irq_proxy()"
piix4: Add a MC146818 RTC Controller as specified in datasheet
hw/mips/mips_malta: Create IDE hard drive array dynamically
hw/mips/mips_malta: Extract the PIIX4 creation code as piix4_create()
hw/isa/piix4: Move piix4_create() to hw/isa/piix4.c
hw/i386: Remove obsolete LoadStateHandler::load_state_old handlers
hw/pci-host/piix: Extract piix3_create()
hw/pci-host/piix: Move RCR_IOPORT register definition
hw/pci-host/piix: Define and use the PIIX IRQ Route Control Registers
hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h
hw/pci-host/piix: Fix code style issues
hw/pci-host/piix: Extract PIIX3 functions to hw/isa/piix3.c
hw/pci-host: Rename incorrectly named 'piix' as 'i440fx'
hw/pci-host/i440fx: Remove the last PIIX3 traces
MAINTAINERS | 14 +-
hw/acpi/pcihp.c | 2 +-
hw/acpi/piix4.c | 42 +--
hw/core/irq.c | 14 -
hw/i386/Kconfig | 3 +-
hw/i386/acpi-build.c | 5 +-
hw/i386/pc_piix.c | 10 +-
hw/i386/xen/xen-hvm.c | 5 +-
hw/intc/apic_common.c | 49 ----
hw/isa/Kconfig | 4 +
hw/isa/Makefile.objs | 1 +
hw/isa/piix3.c | 399 +++++++++++++++++++++++++++++
hw/isa/piix4.c | 151 ++++++++++-
hw/mips/gt64xxx_pci.c | 5 +-
hw/mips/mips_malta.c | 46 +---
hw/pci-host/Kconfig | 3 +-
hw/pci-host/Makefile.objs | 2 +-
hw/pci-host/{piix.c => i440fx.c} | 424 +------------------------------
hw/timer/i8254_common.c | 40 ---
include/hw/acpi/piix4.h | 6 -
include/hw/i386/pc.h | 37 ---
include/hw/irq.h | 5 -
include/hw/isa/isa.h | 2 +
include/hw/pci-host/i440fx.h | 36 +++
include/hw/southbridge/piix.h | 74 ++++++
stubs/pci-host-piix.c | 3 +-
26 files changed, 699 insertions(+), 683 deletions(-)
create mode 100644 hw/isa/piix3.c
rename hw/pci-host/{piix.c => i440fx.c} (58%)
delete mode 100644 include/hw/acpi/piix4.h
create mode 100644 include/hw/pci-host/i440fx.h
create mode 100644 include/hw/southbridge/piix.h
--
2.21.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|