diff options
author | Richard Henderson <rth@twiddle.net> | 2014-09-13 09:45:16 -0700 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2014-09-25 18:54:21 +0100 |
commit | 774f0abeae3780db03e2ece61eb712e219b4511d (patch) | |
tree | 2111f2515766b8faa74d78e76ec9c9d0679cab1a | |
parent | 00f3fd63e13d9c35017f08a96528826e5ee9521f (diff) |
target-ppc: Use cpu_exec_enter qom hook
Cc: qemu-ppc@nongnu.org
Signed-off-by: Richard Henderson <rth@twiddle.net>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 1410626734-3804-6-git-send-email-rth@twiddle.net
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | cpu-exec.c | 3 | ||||
-rw-r--r-- | target-ppc/translate_init.c | 9 |
2 files changed, 9 insertions, 3 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index 9f84dda020..d930e7a49a 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -352,9 +352,6 @@ int cpu_exec(CPUArchState *env) cpu->exit_request = 1; } -#if defined(TARGET_PPC) - env->reserve_addr = -1; -#endif cc->cpu_exec_enter(cpu); cpu->exception_index = -1; diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 48177ed0a0..e577e03b17 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -9456,6 +9456,14 @@ static bool ppc_cpu_has_work(CPUState *cs) return msr_ee && (cs->interrupt_request & CPU_INTERRUPT_HARD); } +static void ppc_cpu_exec_enter(CPUState *cs) +{ + PowerPCCPU *cpu = POWERPC_CPU(cs); + CPUPPCState *env = &cpu->env; + + env->reserve_addr = -1; +} + /* CPUClass::reset() */ static void ppc_cpu_reset(CPUState *s) { @@ -9638,6 +9646,7 @@ static void ppc_cpu_class_init(ObjectClass *oc, void *data) cc->write_elf64_qemunote = ppc64_cpu_write_elf64_qemunote; #endif #endif + cc->cpu_exec_enter = ppc_cpu_exec_enter; cc->gdb_num_core_regs = 71; |