qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: singlestep and sparc32


From: Artyom Tarasenko
Subject: [Qemu-devel] Re: singlestep and sparc32
Date: Mon, 19 Apr 2010 22:33:00 +0200

2010/4/19 Blue Swirl <address@hidden>:
> 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.

is there another way to reduce a translation block? -icount 1 doesn't
make a difference.

>>  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?

Seems to make no difference at all.

>>  --------------
>>  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/




reply via email to

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