summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-07-12 11:32:22 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-07-12 11:32:22 +0000
commitc19dbb9426a34a8e8cfdc5c285e8562ff3fe4f7a (patch)
tree0d930a25989bf9a0cf5de80db152eb6dc9225adf
parent4cae1d16396f4a2827d5cafaaf232698588ade55 (diff)
downloadqemu-c19dbb9426a34a8e8cfdc5c285e8562ff3fe4f7a.tar.gz
Fix crash in set registers in PPC gdb-stub, by Jason Wessel.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3079 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-ppc/helper.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/target-ppc/helper.c b/target-ppc/helper.c
index e3700b5f2c..84e6c39357 100644
--- a/target-ppc/helper.c
+++ b/target-ppc/helper.c
@@ -1493,10 +1493,12 @@ void do_store_msr (CPUPPCState *env, target_ulong value)
break;
}
if (enter_pm) {
- /* power save: exit cpu loop */
- env->halted = 1;
- env->exception_index = EXCP_HLT;
- cpu_loop_exit();
+ if (likely(!env->halted)) {
+ /* power save: exit cpu loop */
+ env->halted = 1;
+ env->exception_index = EXCP_HLT;
+ cpu_loop_exit();
+ }
}
}