aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/op.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r--target-ppc/op.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c
index 822c267695..72fd483463 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -351,7 +351,10 @@ void OPPROTO op_load_msr (void)
void OPPROTO op_store_msr (void)
{
- do_store_msr(env, T0);
+ if (do_store_msr(env, T0)) {
+ env->halted = 1;
+ do_raise_exception(EXCP_HLT);
+ }
RETURN();
}
@@ -365,7 +368,10 @@ void OPPROTO op_update_riee (void)
#if defined (TARGET_PPC64)
void OPPROTO op_store_msr_32 (void)
{
- ppc_store_msr_32(env, T0);
+ if (ppc_store_msr_32(env, T0)) {
+ env->halted = 1;
+ do_raise_exception(EXCP_HLT);
+ }
RETURN();
}
#endif