Fix crash in set registers in PPC gdb-stub, by Jason Wessel.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 12 Jul 2007 11:32:22 +0000 (11:32 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Thu, 12 Jul 2007 11:32:22 +0000 (11:32 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3079 c046a42c-6fe2-441c-8c8c-71466251a162

target-ppc/helper.c

index e3700b5..84e6c39 100644 (file)
@@ -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();
+        }
     }
 }