]> git.proxmox.com Git - mirror_qemu.git/commit - hw/hppa/machine.c
target/hppa: Fix OS reboot issues
authorHelge Deller <deller@gmx.de>
Fri, 23 Jun 2023 06:24:30 +0000 (08:24 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 24 Jun 2023 11:39:48 +0000 (13:39 +0200)
commit50ba97e928b44ff5bc731c9ffe68d86acbe44639
treeb5592a212ce60eee0f6dd696afc789ca5baf785a
parentb455ce4c2f300c8ba47cba7232dd03261368a4cb
target/hppa: Fix OS reboot issues

When the OS triggers a reboot, the reset helper function sends a
qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET) together with an
EXCP_HLT exception to halt the CPUs.

So, at reboot when initializing the CPUs again, make sure to set all
instruction pointers to the firmware entry point, disable any interrupts,
disable data and instruction translations, enable PSW_Q bit  and tell qemu
to unhalt (halted=0) the CPUs again.

This fixes the various reboot issues which were seen when rebooting a
Linux VM, including the case where even the monarch CPU has been virtually
halted from the OS (e.g. via "chcpu -d 0" inside the Linux VM).

Signed-off-by: Helge Deller <deller@gmx.de>
hw/hppa/machine.c