summary refs log tree commit diff stats
path: root/hw/intc/grlib_irqmp.c
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2017-05-17 00:48:18 +0200
committerAurelien Jarno <aurelien@aurel32.net>2017-05-30 21:00:56 +0200
commit73479c5c87bf431c6344a80ab01456ed979447f1 (patch)
tree86a121bfd648630a310de854354b3c437d0714a6 /hw/intc/grlib_irqmp.c
parent324189babbc0b70d9ce558deb63d33040d002b7a (diff)
downloadfocaccia-qemu-73479c5c87bf431c6344a80ab01456ed979447f1.tar.gz
focaccia-qemu-73479c5c87bf431c6344a80ab01456ed979447f1.zip
target/sh4: fix reset when using a kernel and an initrd
When a masked exception happens, the SH4 CPU generates a non-masked
reset exception, which then jumps to the reset vector at address
0xA0000000. While this is emulated correctly in QEMU, this does not
work when using a kernel and initrd as this address then contain an
illegal instruction (and there is no guarantee the kernel and initrd
haven't been overwritten).

Therefore call qemu_system_reset_request to reload the kernel and initrd
and load the program counter to the kernel entry point.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'hw/intc/grlib_irqmp.c')
0 files changed, 0 insertions, 0 deletions