[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: singlestep and sparc32
From: |
Blue Swirl |
Subject: |
[Qemu-devel] Re: singlestep and sparc32 |
Date: |
Mon, 19 Apr 2010 22:55:29 +0300 |
On 4/19/10, Artyom Tarasenko <address@hidden> wrote:
> is -single-step option supposed to work under qemu-system-sparc? Or is
> it only for non-pipelined CPUs?
I've never used it.
> I get pretty strange results: some addresses seem to be executed
> twice, and then qemu hangs on the last nop:
One possibility is that we don't generate any code at all for nops
(sethi x, %g0). If you delete the "if (rd)" check in translate.c:1784,
does it help?
> --------------
> IN:
> 0x00000000: b 0xb788
> --------------
> IN:
> 0x00000004: rd %psr, %l0
> --------------
> IN:
> 0x00000004: rd %psr, %l0
> --------------
> IN:
> 0x00000008: nop
> --------------
> IN:
> 0x00000008: nop
> --------------
> IN:
> 0x0000000c: nop
> --------------
> IN:
> 0x0000000c: nop
>
> ... skipped ...
>
> IN:
> 0x7000a58c: bg 0x7000a588
> --------------
> IN:
> 0x7000a590: nop
> --------------
> IN:
> 0x7000a590: nop
> --------------
> IN:
> 0x7000a594: b 0x7000a570
> --------------
> IN:
> 0x7000a594: b 0x7000a570
> --------------
> IN:
> 0x7000a578: be 0x7000a59c
> --------------
> IN:
> 0x7000a580: stba %l1, [ %l0 ] #ASI_M_BYPASS
> --------------
> IN:
> 0x7000a588: deccc %l2
> --------------
> IN:
> 0x7000a594: b 0x7000a570
> --------------
> IN:
> 0x7000a590: nop
>
> ^^^^^^^^^^^ That's the end
>
> Without -singlestep it seems to work better:
>
>
> 0x7000a588: deccc %l2
> 0x7000a58c: bg 0x7000a588
> 0x7000a590: nop
>
> --------------
> IN:
> 0x7000a594: b 0x7000a570
> 0x7000a598: inc %l4
>
> --------------
> IN:
> 0x7000a570: lduba [ %l4 ] #ASI_M_KERNELTXT, %l1
> 0x7000a574: cmp %l1, 0xff
> 0x7000a578: be 0x7000a59c
> ... and so on ...
>
>
>
> --
> Regards,
> Artyom Tarasenko
>
> solaris/sparc under qemu blog: http://tyom.blogspot.com/
>