[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 00/19] uninorth fixes/mac_newworld board wiring im
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH 00/19] uninorth fixes/mac_newworld board wiring improvements |
Date: |
Wed, 14 Mar 2018 17:42:22 +1100 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Tue, Mar 06, 2018 at 08:30:44PM +0000, Mark Cave-Ayland wrote:
> [This is for New World Machines: there is a follow-up patch for Old World
> Machines]
>
> This patchset is a combination of uninorth fixes/cleanup with the final aim
> of removing the remaining custom init functions and switching IRQ arrays over
> to qdev GPIOs.
>
> The first couple of patches apply some style fixups and remove what appears to
> be an obsolete set of uninorth registers according to my testing.
>
> Following on from this, the next few patches QOMify the PCI/AGP host bridges
> and change the existing _init() functions to return the device itself. This
> allows the memory regions to be setup during device init, and using a
> temporary
> qdev pointer property allows moving the remaining initialisation to device
> realize.
>
> Next we fix the mixup between the PCI/AGP host bridges making sure that the
> correct
> PCI bus instance is instantiated for the corresponding host bridge , and
> enabling
> the third PCI host bridge. This allows potential handling of any accesses
> although
> it should be ignored for all OSs that correctly parse the DT since OpenBIOS
> currently
> only supports (and exposes) a single PCI host bridge.
>
> Once the legacy _init() functions have been removed and all devices are
> instantiated via the qdev API, it is then possible to wire up the PCI IO
> space to the relevant PCI bus.
>
> After this we implement a separate uninorth device (equivalent to uni-n in the
> Mac New World DT) as suggested by the TODO comment and wire it up as part of
> the
> board initialisation.
>
> Finally once this is done we can remove the temporary pics IRQ array and
> instead
> wire up the macio_newworld device to the PIC directly using the existing
> object
> link.
>
> Signed-off-by: Mark Cave-Ayland <address@hidden>
I've applied the patches up to 16/19 to ppc-for-2.13.
>
> Mark Cave-Ayland (19):
> uninorth: trivial style fixups
> uninorth: remove second set of uninorth token registers
> uninorth: QOMify PCI and AGP host bridges
> uninorth: remove stray PCIBus realize from mac_newworld.c
> uninorth: move uninorth definitions into uninorth.h
> uninorth: alter pci_pmac_init() and pci_pmac_u3_init() to return
> uninorth device
> uninorth: move PCI mmio memory region initialisation into init
> function
> uninorth: introduce temporary pic_irqs device property
> uninorth: move PCI host bridge bus initialisation into device realize
> uninorth: fix PCI and AGP bus mixup
> uninorth: enable internal PCI host bridge
> uninorth: remove obsolete pci_pmac_init() function
> uninorth: remove obsolete pci_pmac_u3_init() function
> uninorth: use object link to pass OpenPIC object to uninorth
> uninorth: move PCI IO (ISA) memory region into the uninorth device
> uninorth: rename UNINState to UNINHostState
> uninorth: create new uninorth device
> mac_newworld: remove pics IRQ array and wire up macio to OpenPIC
> directly
> mac_newworld: move wiring of macio IRQs to macio_newworld_realize()
>
> hw/misc/macio/macio.c | 37 ++--
> hw/pci-host/trace-events | 2 +
> hw/pci-host/uninorth.c | 415
> ++++++++++++++++++++++++-----------------
> hw/ppc/mac.h | 20 +-
> hw/ppc/mac_newworld.c | 124 ++++++------
> hw/ppc/trace-events | 4 -
> include/hw/misc/macio/macio.h | 1 -
> include/hw/pci-host/uninorth.h | 65 +++++++
> 8 files changed, 404 insertions(+), 264 deletions(-)
> create mode 100644 include/hw/pci-host/uninorth.h
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature