Skip to content

[9.0.2] PPC: snapshot replay freeze on PowerPC

Host environment

  • Operating system: Linux Mint 21.1
  • OS/kernel version: Linux 6.2.0-37-generic #38~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC
  • Architecture: x86_64
  • QEMU flavor: qemu-system-ppc
  • QEMU version: 9.0.2
  • QEMU command line:
    qemu-system-ppc -cpu e500  -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=record,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr
    qemu-system-ppc -cpu e500  -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=replay,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr

Emulated/Virtualized environment

  • Operating system: Bare metal hello world
  • OS/kernel version: None
  • Architecture: PowerPC e500mc (Book-E)

Description of problem

Qemu 9.0.2 cannot replay snapshots on PowerPC e500mc (Book-E) architecture. When I try to do this, the program freezes.

Steps to reproduce

  1. Run bare metal example from the attachment with the first command-line to create snapshot. Then end it using ctrl+c.
  2. Run bare metal example from the attachment with the second command-line to replay snapshot. Running will freeze, use ctrl+c.

Additional information

e500mc example that prints Hello World: ppc-e500.zip

Log output:

% qemu-system-ppc -cpu e500  -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=record,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr
Hello world
qemu-system-ppc: terminating on signal 2
% qemu-system-ppc -cpu e500  -M ppce500 -kernel hello.elf -display none -serial stdio -icount 1,rr=replay,rrfile=main.bin,rrsnapshot=init -drive file=empty.qcow2,if=none,id=rr
qemu-system-ppc: terminating on signal 2
qemu-system-ppc: Playback shouldn't have to iowait (insn total 0/68 left, event 4 is EVENT_INSTRUCTION)
zsh: IOT instruction (core dumped)  qemu-system-ppc -cpu e500 -M ppce500 -kernel hello.elf -display none -serial

Playback shouldn't have to iowait error caused by 1f881ea4 commit, see #2524 (closed)

Edited by Arman
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information