Excellent, I had encountered that bug earlier on when trying to debug 
using workbench.

Are you guys developing a BSP for qemu?
I have a partially working one.

Ely Soto




Jason Wessel <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
12/27/2006 11:05 AM
Please respond to
qemu-devel@nongnu.org


To
qemu-devel@nongnu.org
cc

Subject
[Qemu-devel] [PATCH] PPC32 Trace Exception and Trap instruction






Please add this patch to CVS. 

The patch has two purposes:

1) The NIP needs to be updated for a tw instruction. 
    I found that when executing protected mode traps
    the PC was always set to the begining of the code
    generation block instead of the instruction the trap
    occurred on.

    The usual PPC breakpoint instruction is:
    7d 82 10 08 twge    r2,r2  (Trap when rA >= rB)

2) Single stepping was fixed up earlier in the year
    for using a debugger connected to the QEMU
    gdb stub.  Now it is enabled for connecting a
    runtime single stepping with the trace trap so you
    can use ptrace() or even debug KGDB.

signed-off-by: [EMAIL PROTECTED]

Thanks,
Jason.
Index: qemu/target-ppc/helper.c
===================================================================
--- qemu.orig/target-ppc/helper.c
+++ qemu/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 */
Index: qemu/target-ppc/translate.c
===================================================================
--- qemu.orig/target-ppc/translate.c
+++ qemu/target-ppc/translate.c
@@ -1956,6 +1956,8 @@ GEN_HANDLER(tw, 0x1F, 0x04, 0xFF, 0x0000
 {
     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));
 }
 
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel



-----------------------------------------
Notice:  This e-mail is intended solely for use of the individual
or entity to which it is addressed and may contain information that
is proprietary, privileged and exempt from disclosure under
applicable law.  If the reader is not the intended recipient or
agent responsible for delivering the message to the intended
recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly
prohibited.  This communication may also contain data subject to
U.S. export laws.  If so, that data subject to the International
Traffic in Arms Regulation cannot be disseminated, distributed or
copied to foreign nationals, residing in the U.S. or abroad, absent
the express prior approval of the U.S. Department of State.   If
you have received this communication in error, please notify the
sender by reply e-mail and destroy the e-mail message and any
physical copies made of the communication.  Thank you.
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to