Hello,

I used the following command to execute some AArch64 instructions contained
in test.bin:
qemu-system-aarch64 -cpu cortex-a57 -M virt -m 128M -nographic -s -S
-kernel test.bin

But QEMU hanged up while executing floating point instructions.

The following AArch64 instruction block is contained in test.bin
(disassembled in aarch64-none-elf-gdb):
0x0000000040081000:  mov  x0,  #0xa  // #10
0x0000000040081004:  mov   x1,  #0xb  // #11
0x0000000040081008:  fmov  d0,  x0
0x000000004008100c:  fmov  d1,  x1

I debugged it with "aarch64-none-elf-gdb" and found that the first two
integer mov instructions were successfully executed by qemu-system-aarch64.

But QEMU hanged up at the 3rd intruction "fmov  d0,  x0", with one host CPU
core usage 100%.

Then I tested other floating point AArch64 instructions like "fabs" and
"fadd", QEMU hanged up at all of them.

I am using the latest version of QEMU built from the git repo, under Ubuntu
14.04 64-bit. Also tried several early QEMU versions but none worked.

What did I miss?

Best regards,

Jiaqi.

Reply via email to