From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:39387) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TuXPF-0002D1-52 for qemu-devel@nongnu.org; Sun, 13 Jan 2013 18:56:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TuXPA-0001cE-TM for qemu-devel@nongnu.org; Sun, 13 Jan 2013 18:56:01 -0500 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 14 Jan 2013 00:54:54 +0100 Message-Id: <1358121304-21345-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , agraf@suse.de, armbru@redhat.com, Blue Swirl , qemu-ppc@nongnu.org, =?UTF-8?q?Herv=C3=A9=20Poussineau?= , =?UTF-8?q?Andreas=20F=C3=A4rber?= 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 Al= ex. 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 s= plit MacIO in two, allowing to move more logic into the device from the machin= e. This time it adopts new QOM concepts for embedding the sub-devices conver= ted 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 Anth= ony's. Cc: Alexander Graf Cc: qemu-ppc Cc: Markus Armbruster Cc: Kevin Wolf Cc: Blue Swirl Cc: Herv=C3=A9 Poussineau Andreas F=C3=A4rber (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 =3D> ppc/mac_newworld.c} | 65 ++++--- hw/{ppc_oldworld.c =3D> 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=C3=A4ndert, 636 Zeilen hinzugef=C3=BCgt(+), 328 Zeilen ent= fernt(-) create mode 100644 hw/ppc/mac.h rename hw/{ppc_newworld.c =3D> ppc/mac_newworld.c} (91%) rename hw/{ppc_oldworld.c =3D> ppc/mac_oldworld.c} (92%) delete mode 100644 hw/ppc_mac.h --=20 1.7.10.4