qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] workaround: qemu-0.9.0 emulating mipsel (32-bit R3000)


From: Paul Brook
Subject: Re: [Qemu-devel] workaround: qemu-0.9.0 emulating mipsel (32-bit R3000) on amd64
Date: Tue, 8 May 2007 00:03:36 +0100
User-agent: KMail/1.9.6

On Monday 07 May 2007, John Reiser wrote:
> Daniel Jacobowitz wrote:
> > On Sun, May 06, 2007 at 09:04:52PM +0100, Thiemo Seufer wrote:
> >>This looks like another instance of "Qemu/MIPS doesn't handle
> >>self-modifying code correctly" (the break instructions inserted
> >>by gdb are exactly this).
> >>
> >>A gross workaround is
> >>http://lists.nongnu.org/archive/html/qemu-devel/2007-05/msg00037.html
> >
> > Someone might want to try:
> >   http://lists.nongnu.org/archive/html/qemu-devel/2007-04/msg00514.html
>
> This works for me so far: I can single-step reliably in gdb.
>
> --- a/qemu-0.9.0/target-mips/helper.c   2007-05-05 15:39:21.000000000 -0700
> +++ b/qemu-0.9.0/target-mips/helper.c   2007-05-07 13:24:50.000000000 -0700
> @@ -358,6 +358,7 @@
>          goto set_EPC;
>      case EXCP_BREAK:
>          cause = 9;
> +       tlb_flush_page(env, env->PC);
>          goto set_EPC;
>      case EXCP_RI:
>          cause = 10;

I think this is still broken if the breakpoint is the first instruction on a 
page. The changes Daniel mentioned should make this sort of flushing 
unnecessary.

Paul




reply via email to

[Prev in Thread] Current Thread [Next in Thread]