From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: Amit Shah <amit.shah@redhat.com>,
Isaku Yamahata <yamahata@valinux.co.jp>
Subject: [Qemu-devel] [PATCH 0/7] poison TARGET_xxx for compile once object and header file cleanups
Date: Fri, 25 Jun 2010 14:52:15 +0200 [thread overview]
Message-ID: <1277470342-5861-1-git-send-email-pbonzini@redhat.com> (raw)
This is a different way to achieve the same objective as Isamu's patch.
Basically, his patch becomes the (much simpler) patch 7 of this series,
and everything else is something I had had lying around for a while. :)
Patch 1 is simply Amit's patch, included here for convenience as it's
not been applied yet.
Patches 2 and 3 remove some dyngen-exec.h hacks at the price of requiring
qemu-common.h included in more places. I don't see this as a big price;
all of these files were already including qemu-common.h indirectly,
e.g. via cpu-all.h, just not early enough.
Patches 4 provides a CPUState type, albeit an opaque one, to files that
are not compiled per-target. The advantage of this are apparent in
patches 5 and 6: opaque pointers that are actually CPUState pointers
are now type-safe, and it is even possible to define a cpu property type
for the occasional device that has to be connected to a particular CPU
(the PC APICs in particular).
Finally, patch 7 "redoes" Isamu's patch just by moving five lines of
code into qemu-common.h.
Amit Shah (1):
rtc: Remove TARGET_I386 from qemu-config.c, enables driftfix
Paolo Bonzini (6):
include qemu-common.h when needed by the next patches
include stdio.h freely, remove dyngen-exec.h hacks
provide opaque CPUState to files that are compiled once
add qdev property type "cpu"
replace void* uses with opaque CPUState*
poison TARGET_xxx for compile once object
arm-semi.c | 2 +-
bsd-user/qemu.h | 1 +
cpu-common.h | 6 +---
cpu-defs.h | 1 +
cpu-exec.c | 1 +
cpus.c | 39 ++++++++++++++++++++++--------------
cpus.h | 2 +
darwin-user/qemu.h | 1 +
disas.c | 1 +
disas.h | 5 +---
dyngen-exec.h | 16 --------------
exec.c | 2 +-
hw/apic.c | 4 +-
hw/pc.c | 4 +-
hw/qdev-properties.c | 44 +++++++++++++++++++++++++++++++++++++++++
hw/qdev.h | 5 ++++
linux-user/arm/nwfpe/fpa11.h | 3 +-
linux-user/main.c | 1 -
linux-user/qemu.h | 1 +
m68k-semi.c | 2 +-
poison.h | 3 --
qemu-common.h | 19 ++++-------------
qemu-config.c | 2 -
target-alpha/cpu.h | 4 +--
target-alpha/exec.h | 6 +---
target-alpha/helper.c | 1 +
target-alpha/op_helper.c | 1 +
target-alpha/translate.c | 2 +-
target-arm/cpu.h | 6 ++--
target-arm/exec.h | 5 +--
target-arm/helper.c | 2 +-
target-arm/iwmmxt_helper.c | 1 +
target-arm/neon_helper.c | 1 +
target-arm/op_helper.c | 1 +
target-arm/translate.c | 1 +
target-cris/cpu.h | 6 ++--
target-cris/exec.h | 6 ++--
target-cris/helper.c | 1 +
target-cris/mmu.c | 1 +
target-cris/op_helper.c | 1 +
target-cris/translate.c | 2 +-
target-i386/cpu.h | 6 ++--
target-i386/cpuid.c | 1 +
target-i386/exec.h | 7 +----
target-i386/helper.c | 2 +-
target-i386/op_helper.c | 1 +
target-i386/translate.c | 1 +
target-m68k/cpu.h | 6 ++--
target-m68k/exec.h | 6 ++--
target-m68k/helper.c | 2 +-
target-m68k/op_helper.c | 1 +
target-m68k/translate.c | 1 +
target-microblaze/cpu.h | 7 ++---
target-microblaze/exec.h | 6 ++--
target-microblaze/helper.c | 1 +
target-microblaze/mmu.c | 1 +
target-microblaze/op_helper.c | 1 +
target-microblaze/translate.c | 2 +-
target-mips/cpu.h | 5 +---
target-mips/exec.h | 6 +---
target-mips/helper.c | 1 +
target-mips/op_helper.c | 1 +
target-mips/translate.c | 2 +-
target-ppc/cpu.h | 3 +-
target-ppc/exec.h | 2 -
target-ppc/helper.c | 2 +-
target-ppc/op_helper.c | 1 +
target-ppc/translate.c | 2 +-
target-s390x/cpu.h | 6 ++--
target-s390x/exec.h | 7 ++---
target-s390x/helper.c | 2 +-
target-s390x/op_helper.c | 1 +
target-sh4/cpu.h | 6 ++--
target-sh4/exec.h | 5 +--
target-sh4/helper.c | 1 +
target-sh4/op_helper.c | 2 +
target-sh4/translate.c | 2 +-
target-sparc/cpu.h | 6 ++--
target-sparc/exec.h | 3 ++
target-sparc/helper.c | 2 +-
target-sparc/op_helper.c | 1 +
target-sparc/translate.c | 1 +
translate-all.c | 1 +
83 files changed, 189 insertions(+), 147 deletions(-)
next reply other threads:[~2010-06-25 17:50 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-25 12:52 Paolo Bonzini [this message]
2010-06-25 12:52 ` [Qemu-devel] [PATCH 1/7] rtc: Remove TARGET_I386 from qemu-config.c, enables driftfix Paolo Bonzini
2010-06-25 12:52 ` [Qemu-devel] [PATCH 2/7] include qemu-common.h when needed by the next patches Paolo Bonzini
2010-06-25 12:52 ` [Qemu-devel] [PATCH 3/7] include stdio.h freely, remove dyngen-exec.h hacks Paolo Bonzini
2010-06-25 12:52 ` [Qemu-devel] [PATCH 4/7] provide opaque CPUState to files that are compiled once Paolo Bonzini
2010-06-27 19:17 ` Blue Swirl
2010-06-28 8:04 ` Paolo Bonzini
2010-06-28 14:21 ` Blue Swirl
2010-06-25 12:52 ` [Qemu-devel] [PATCH 5/7] add qdev property type "cpu" Paolo Bonzini
2010-06-26 7:46 ` Markus Armbruster
2010-06-27 12:48 ` [Qemu-devel] " Paolo Bonzini
2010-06-29 11:42 ` Markus Armbruster
2010-06-29 13:52 ` Paolo Bonzini
2010-06-27 18:45 ` [Qemu-devel] " Blue Swirl
2010-06-25 12:52 ` [Qemu-devel] [PATCH 6/7] replace void* uses with opaque CPUState* Paolo Bonzini
2010-06-26 7:49 ` Markus Armbruster
2010-06-25 12:52 ` [Qemu-devel] [PATCH 7/7] poison TARGET_xxx for compile once object Paolo Bonzini
2010-06-25 22:47 ` [Qemu-devel] [PATCH 0/7] poison TARGET_xxx for compile once object and header file cleanups Richard Henderson
2010-06-27 12:39 ` [Qemu-devel] " Paolo Bonzini
2010-06-27 19:32 ` [Qemu-devel] " Blue Swirl
2010-06-28 8:20 ` Paolo Bonzini
2010-06-28 15:11 ` Blue Swirl
2010-06-28 16:21 ` Paolo Bonzini
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=1277470342-5861-1-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=amit.shah@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yamahata@valinux.co.jp \
/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).