qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/19] uninorth fixes/mac_newworld board wiring improvements
@ 2018-03-06 20:30 Mark Cave-Ayland
  2018-03-06 20:30 ` [Qemu-devel] [PATCH 01/19] uninorth: trivial style fixups Mark Cave-Ayland
                   ` (21 more replies)
  0 siblings, 22 replies; 52+ messages in thread
From: Mark Cave-Ayland @ 2018-03-06 20:30 UTC (permalink / raw)
  To: qemu-devel, qemu-ppc, david

[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 <mark.cave-ayland@ilande.co.uk>

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

-- 
2.11.0

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2018-04-26  3:09 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-06 20:30 [Qemu-devel] [PATCH 00/19] uninorth fixes/mac_newworld board wiring improvements Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 01/19] uninorth: trivial style fixups Mark Cave-Ayland
2018-03-06 22:49   ` Philippe Mathieu-Daudé
2018-03-07  2:25   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 02/19] uninorth: remove second set of uninorth token registers Mark Cave-Ayland
2018-03-07  4:11   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 03/19] uninorth: QOMify PCI and AGP host bridges Mark Cave-Ayland
2018-03-09  0:32   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 04/19] uninorth: remove stray PCIBus realize from mac_newworld.c Mark Cave-Ayland
2018-03-09  0:35   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 05/19] uninorth: move uninorth definitions into uninorth.h Mark Cave-Ayland
2018-03-06 22:50   ` Philippe Mathieu-Daudé
2018-03-14  5:43   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 06/19] uninorth: alter pci_pmac_init() and pci_pmac_u3_init() to return uninorth device Mark Cave-Ayland
2018-03-12 10:59   ` Philippe Mathieu-Daudé
2018-03-14  5:44   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 07/19] uninorth: move PCI mmio memory region initialisation into init function Mark Cave-Ayland
2018-03-06 23:44   ` [Qemu-devel] [Qemu-ppc] " BALATON Zoltan
2018-03-07  7:02     ` Mark Cave-Ayland
2018-03-07  7:23       ` Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 08/19] uninorth: introduce temporary pic_irqs device property Mark Cave-Ayland
2018-03-14  6:20   ` David Gibson
2018-03-06 20:30 ` [Qemu-devel] [PATCH 09/19] uninorth: move PCI host bridge bus initialisation into device realize Mark Cave-Ayland
2018-03-12 11:04   ` Philippe Mathieu-Daudé
2018-03-06 20:30 ` [Qemu-devel] [PATCH 10/19] uninorth: fix PCI and AGP bus mixup Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 11/19] uninorth: enable internal PCI host bridge Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 12/19] uninorth: remove obsolete pci_pmac_init() function Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 13/19] uninorth: remove obsolete pci_pmac_u3_init() function Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 14/19] uninorth: use object link to pass OpenPIC object to uninorth Mark Cave-Ayland
2018-03-06 20:30 ` [Qemu-devel] [PATCH 15/19] uninorth: move PCI IO (ISA) memory region into the uninorth device Mark Cave-Ayland
2018-03-12 11:01   ` Philippe Mathieu-Daudé
2018-03-06 20:31 ` [Qemu-devel] [PATCH 16/19] uninorth: rename UNINState to UNINHostState Mark Cave-Ayland
2018-03-06 22:52   ` Philippe Mathieu-Daudé
2018-03-06 20:31 ` [Qemu-devel] [PATCH 17/19] uninorth: create new uninorth device Mark Cave-Ayland
2018-03-21  3:29   ` David Gibson
2018-03-22  9:00     ` Philippe Mathieu-Daudé
2018-03-25 21:11       ` Mark Cave-Ayland
2018-04-06  5:33         ` Mark Cave-Ayland
2018-04-25  6:06           ` Mark Cave-Ayland
2018-04-25  6:34             ` David Gibson
2018-04-25  6:58               ` Mark Cave-Ayland
2018-04-25 14:35                 ` Philippe Mathieu-Daudé
2018-04-26  3:06                 ` David Gibson
2018-03-06 20:31 ` [Qemu-devel] [PATCH 18/19] mac_newworld: remove pics IRQ array and wire up macio to OpenPIC directly Mark Cave-Ayland
2018-03-21  3:40   ` David Gibson
2018-03-22  8:38   ` Philippe Mathieu-Daudé
2018-03-06 20:31 ` [Qemu-devel] [PATCH 19/19] mac_newworld: move wiring of macio IRQs to macio_newworld_realize() Mark Cave-Ayland
2018-03-21  3:42   ` David Gibson
2018-03-06 20:59 ` [Qemu-devel] [PATCH 00/19] uninorth fixes/mac_newworld board wiring improvements no-reply
2018-03-06 21:08   ` Mark Cave-Ayland
2018-03-14  5:40 ` David Gibson
2018-03-14  6:42 ` David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).