From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>,
agraf@suse.de, armbru@redhat.com,
"Blue Swirl" <blauwirbel@gmail.com>,
qemu-ppc@nongnu.org, "Hervé Poussineau" <hpoussin@reactos.org>,
"Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [RFC ppc-next v3 00/10] target-ppc: MacIO QOM'ification
Date: Mon, 14 Jan 2013 00:54:54 +0100 [thread overview]
Message-ID: <1358121304-21345-1-git-send-email-afaerber@suse.de> (raw)
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
next reply other threads:[~2013-01-13 23:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-13 23:54 Andreas Färber [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1358121304-21345-1-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=hpoussin@reactos.org \
--cc=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).