From 9ddff3d2c44ceeba8dcbb5294183404ce73448c2 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sat, 4 Apr 2009 07:41:20 +0000 Subject: [PATCH] Make i386-softmmu boot on Sparc host git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6971 c046a42c-6fe2-441c-8c8c-71466251a162 --- cpu-exec.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cpu-exec.c b/cpu-exec.c index cf7c1fba7e..0ce3f988e9 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -253,6 +253,11 @@ int cpu_exec(CPUState *env1) /* prepare setjmp context for exception handling */ for(;;) { if (setjmp(env->jmp_env) == 0) { +#if defined(__sparc__) && !defined(HOST_SOLARIS) +#undef env + env = cpu_single_env; +#define env cpu_single_env +#endif env->current_tb = NULL; /* if an exception is pending, we execute it here */ if (env->exception_index >= 0) { @@ -390,6 +395,11 @@ int cpu_exec(CPUState *env1) env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ); intno = cpu_get_pic_interrupt(env); qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno); +#if defined(__sparc__) && !defined(HOST_SOLARIS) +#undef env + env = cpu_single_env; +#define env cpu_single_env +#endif do_interrupt(intno, 0, 0, 0, 1); /* ensure that no TB jump will be modified as the program flow was changed */