On 16 April 2012 17:27, Alexander Graf <ag...@suse.de> wrote: > > On 31.03.2012, at 18:26, Blue Swirl wrote: > >> Add an explicit CPUPPCState parameter instead of relying on AREG0. >> >> Signed-off-by: Blue Swirl <blauwir...@gmail.com> >> --- >> Makefile.target | 3 - >> target-ppc/fpu_helper.c | 350 >> ++++++++++++++++++++++++----------------------- >> target-ppc/helper.h | 204 ++++++++++++++-------------- >> target-ppc/translate.c | 106 ++++++++------- >> 4 files changed, 339 insertions(+), 324 deletions(-) >> >> diff --git a/Makefile.target b/Makefile.target >> index 34ac9d1..898cdd4 100644 >> --- a/Makefile.target >> +++ b/Makefile.target >> @@ -117,9 +117,6 @@ $(libobj-y): $(GENERATED_HEADERS) >> ifneq ($(TARGET_BASE_ARCH), sparc) >> op_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS) >> endif >> -ifeq ($(TARGET_BASE_ARCH), ppc) >> -fpu_helper.o: QEMU_CFLAGS += $(HELPER_CFLAGS) >> -endif > > Huh?
Source files which include dyngen-exec.h (and thus use the fixed-native-register global 'env') must be built with HELPER_CFLAGS so that the fixed register doesn't clash with the x86 frame pointer. This patch removes the use of global 'env' from fpu_helper.c, so it can remove the include of dyngen-exec.h, which means it can remove the special casing in Makefile.target that adds HELPER_CFLAGS. -- PMM