qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification
@ 2013-01-13 23:54 Andreas Färber
  2013-01-13 23:54 ` [Qemu-devel] [PATCH 01/10] qom: Make object_resolve_path_component() path argument const Andreas Färber
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Andreas Färber @ 2013-01-13 23:54 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, agraf, armbru, Blue Swirl, qemu-ppc,
	Hervé Poussineau, Andreas Färber

Hello,

As requested by Markus, here's a conversion of MacIO IDE to QOM.
There's more work to be done, but in light of the approaching Soft Freeze
here's my current state of affairs, lightly tested.

Patch 1 is a generic QOM API fix and could be applied independent of the
ppc device conversion.

Patch 2 goes on to move PowerMac machines to hw/ppc/ as discussed with Alex.
The intent would be to do the same for PReP once applied.

The remainder revives an old patch from the time of QOM introduction to split
MacIO in two, allowing to move more logic into the device from the machine.
This time it adopts new QOM concepts for embedding the sub-devices converted
in the following patches. TODO: finalization support / object_unref().

ADB is still being worked on. DBDMA still TODO (but then again so is x86 DMA).
ESCC would affect sparc as well.
The PICs pose cyclic dependency issues (mapped inside MacIO but MacIO as a
PCIDevice needing a PCIBus, the Grackle/UniNorth PHBs needing a PIC IRQ).

Regards,
Andreas

v2 -> v3:
* Redone using QOM, split up into three patches for better reviewability.
* Added QOM'ification patches for NVRAM, IDE and CUDA.

v1 -> v2:
 * qdev'ification patch was ignored for QOM 2nd series: Rebased onto Anthony's.

Cc: Alexander Graf <agraf@suse.de>
Cc: qemu-ppc <qemu-ppc@nongnu.org>

Cc: Markus Armbruster <armbru@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Hervé Poussineau <hpoussin@reactos.org>

Andreas Färber (10):
  qom: Make object_resolve_path_component() path argument const
  ppc: Move Mac machines to hw/ppc/
  macio: QOM'ify some more
  macio: Delay qdev init until all fields are initialized
  macio: Split MacIO in two
  mac_nvram: Clean up public API
  mac_nvram: Mark as Big Endian
  mac_nvram: QOM'ify MacIO NVRAM
  ide/macio: QOM'ify MacIO IDE
  cuda: QOM'ify CUDA

 hw/cuda.c                                 |  100 +++++-----
 hw/grackle_pci.c                          |    2 +-
 hw/heathrow_pic.c                         |    2 +-
 hw/ide.h                                  |    4 -
 hw/ide/macio.c                            |   87 ++++++---
 hw/mac_nvram.c                            |   82 ++++----
 hw/macio.c                                |  289 ++++++++++++++++++++++-------
 hw/openpic.c                              |    2 +-
 hw/ppc/Makefile.objs                      |    9 +-
 hw/ppc/mac.h                              |  179 ++++++++++++++++++
 hw/{ppc_newworld.c => ppc/mac_newworld.c} |   65 ++++---
 hw/{ppc_oldworld.c => ppc/mac_oldworld.c} |   56 +++---
 hw/ppc_mac.h                              |   81 --------
 hw/unin_pci.c                             |    2 +-
 include/qom/object.h                      |    2 +-
 qom/object.c                              |    2 +-
 16 Dateien geändert, 636 Zeilen hinzugefügt(+), 328 Zeilen entfernt(-)
 create mode 100644 hw/ppc/mac.h
 rename hw/{ppc_newworld.c => ppc/mac_newworld.c} (91%)
 rename hw/{ppc_oldworld.c => ppc/mac_oldworld.c} (92%)
 delete mode 100644 hw/ppc_mac.h

-- 
1.7.10.4

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

end of thread, other threads:[~2013-01-19  9:13 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-13 23:54 [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification Andreas Färber
2013-01-13 23:54 ` [Qemu-devel] [PATCH 01/10] qom: Make object_resolve_path_component() path argument const Andreas Färber
2013-01-14 12:19   ` Markus Armbruster
2013-01-14 16:52     ` Andreas Färber
2013-01-14 17:27       ` Markus Armbruster
2013-01-14 19:01       ` [Qemu-devel] Go along with glib's basic type typedef silliness? (was: [PATCH 01/10] qom: Make object_resolve_path_component() path argument const) Markus Armbruster
2013-01-17 20:26         ` Blue Swirl
2013-01-18 15:36           ` [Qemu-devel] Go along with glib's basic type typedef silliness? Markus Armbruster
2013-01-19  9:13             ` Blue Swirl
2013-01-13 23:54 ` [Qemu-devel] [RFC ppc-next v3 02/10] ppc: Move Mac machines to hw/ppc/ Andreas Färber
2013-01-13 23:54 ` [Qemu-devel] [RFC ppc-next v3 03/10] macio: QOM'ify some more Andreas Färber
2013-01-13 23:54 ` [Qemu-devel] [RFC ppc-next v3 04/10] macio: Delay qdev init until all fields are initialized Andreas Färber
2013-01-13 23:54 ` [Qemu-devel] [RFC ppc-next v3 05/10] macio: Split MacIO in two Andreas Färber
2013-01-13 23:55 ` [Qemu-devel] [RFC ppc-next v3 06/10] mac_nvram: Clean up public API Andreas Färber
2013-01-13 23:55 ` [Qemu-devel] [RFC ppc-next v3 07/10] mac_nvram: Mark as Big Endian Andreas Färber
2013-01-13 23:55 ` [Qemu-devel] [RFC ppc-next v3 08/10] mac_nvram: QOM'ify MacIO NVRAM Andreas Färber
2013-01-14 12:34   ` Markus Armbruster
2013-01-14 16:22     ` Andreas Färber
2013-01-14 17:30       ` Markus Armbruster
2013-01-13 23:55 ` [Qemu-devel] [RFC ppc-next v3 09/10] ide/macio: QOM'ify MacIO IDE Andreas Färber
2013-01-13 23:55 ` [Qemu-devel] [RFC ppc-next v3 10/10] cuda: QOM'ify CUDA Andreas Färber
2013-01-14 12:47 ` [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification Markus Armbruster
2013-01-14 21:56 ` [Qemu-devel] [Qemu-ppc] " Mark Cave-Ayland
2013-01-18 16:36   ` Andreas Färber

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).