[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/7] poison TARGET_xxx for compile once object and h
From: |
Paolo Bonzini |
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 |
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(-)