qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification


From: Andreas Färber
Subject: [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification
Date: Mon, 14 Jan 2013 00:54:54 +0100

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 <address@hidden>
Cc: qemu-ppc <address@hidden>

Cc: Markus Armbruster <address@hidden>
Cc: Kevin Wolf <address@hidden>
Cc: Blue Swirl <address@hidden>
Cc: Hervé Poussineau <address@hidden>

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]