From: ths Date: Fri, 5 Jan 2007 16:54:16 +0000 (+0000) Subject: PPC32 Trace Exception and Trap instruction, by Jason Wessel. X-Git-Tag: release_0_9_1~1604 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=200e714c25411a28bdfc7bdaa1f1bbdd6733d182;p=qemu-xen-4.5-testing.git PPC32 Trace Exception and Trap instruction, by Jason Wessel. --- diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 3f7a70871..70b0a4915 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -1113,8 +1113,6 @@ void do_interrupt (CPUState *env) } goto store_next; case EXCP_TRACE: /* 0x0D00 */ - /* XXX: TODO */ - cpu_abort(env, "Trace exception is not implemented yet !\n"); goto store_next; case EXCP_PERF: /* 0x0F00 */ /* XXX: TODO */ diff --git a/target-ppc/translate.c b/target-ppc/translate.c index 046f168bf..41737d4a8 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -1956,6 +1956,8 @@ GEN_HANDLER(tw, 0x1F, 0x04, 0xFF, 0x00000001, PPC_FLOW) { gen_op_load_gpr_T0(rA(ctx->opcode)); gen_op_load_gpr_T1(rB(ctx->opcode)); + /* Update the nip since this might generate a trap exception */ + gen_op_update_nip(ctx->nip); gen_op_tw(TO(ctx->opcode)); }