Hello, List!

I've found that while running Aarch64 assembler programs on QEMU with "-d in_asm" option enabled I receive not complete logs. For example, on the following assembler program which contains a loop :

[assembler]
.globl _start
bl _start
_start:
label1:
  movz  x0, 10
  subs x0, x0, 1
  b.eq label2
  b label1
label2:
hlt #57005
[/assembler]

I receive the following log which does not include "loop unrolling":
[log]
----------------
IN:
0x0000000000000000:  94000001      bl #+0x4 (addr 0x4)

----------------
IN:
0x0000000000000004:  d2800140      mov x0, #0xa

----------------
IN:
0x0000000000000008:  f1000400      subs x0, x0, #0x1 (1)

----------------
IN:
0x000000000000000c:  54000040      b.eq #+0x8 (addr 0x14)

----------------
IN:
0x0000000000000010:  17fffffd      b #-0xc (addr 0x4)


[/log]

It seems that QEMU skips some internal instructions when generates "in_asm" log. How to eliminate this?

Thanks in advance!

Sincerely yours,
Sergey Smolov

Reply via email to