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.c20
1 files changed, 3 insertions, 17 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c
index 38ed13aa13..c7953662be 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -204,16 +204,6 @@ PPC_OP(update_nip)
env->nip = PARAM(1);
}
-PPC_OP(debug)
-{
- env->nip = PARAM(1);
-#if defined (DEBUG_OP)
- dump_state();
-#endif
- do_raise_exception(EXCP_DEBUG);
- RETURN();
-}
-
/* Segment registers load and store with immediate index */
PPC_OP(load_srin)
{
@@ -1384,14 +1374,10 @@ PPC_OP(check_reservation)
/* Return from interrupt */
PPC_OP(rfi)
{
- regs->nip = regs->spr[SPR_SRR0] & ~0x00000003;
-#if 1 // TRY
- T0 = regs->spr[SPR_SRR1] & ~0xFFF00000;
-#else
- T0 = regs->spr[SPR_SRR1] & ~0xFFFF0000;
-#endif
+ env->nip = env->spr[SPR_SRR0] & ~0x00000003;
+ T0 = env->spr[SPR_SRR1] & ~0xFFFF0000UL;
do_store_msr(env, T0);
- do_raise_exception(EXCP_RFI);
+ env->interrupt_request |= CPU_INTERRUPT_EXITTB;
RETURN();
}