Commit a0ae05aa6390fe363e70355c9375a9b9149dab14
1 parent
455204eb
PPC32 Trace Exception and Trap instruction, by Jason Wessel.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2291 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
2 additions
and
2 deletions
target-ppc/helper.c
... | ... | @@ -1113,8 +1113,6 @@ void do_interrupt (CPUState *env) |
1113 | 1113 | } |
1114 | 1114 | goto store_next; |
1115 | 1115 | case EXCP_TRACE: /* 0x0D00 */ |
1116 | - /* XXX: TODO */ | |
1117 | - cpu_abort(env, "Trace exception is not implemented yet !\n"); | |
1118 | 1116 | goto store_next; |
1119 | 1117 | case EXCP_PERF: /* 0x0F00 */ |
1120 | 1118 | /* XXX: TODO */ | ... | ... |
target-ppc/translate.c
... | ... | @@ -1956,6 +1956,8 @@ GEN_HANDLER(tw, 0x1F, 0x04, 0xFF, 0x00000001, PPC_FLOW) |
1956 | 1956 | { |
1957 | 1957 | gen_op_load_gpr_T0(rA(ctx->opcode)); |
1958 | 1958 | gen_op_load_gpr_T1(rB(ctx->opcode)); |
1959 | + /* Update the nip since this might generate a trap exception */ | |
1960 | + gen_op_update_nip(ctx->nip); | |
1959 | 1961 | gen_op_tw(TO(ctx->opcode)); |
1960 | 1962 | } |
1961 | 1963 | ... | ... |