[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
- Run bare metal example from the attachment with the first command-line to create snapshot. Then end it using ctrl+c.
- 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