linux/arch/xtensa
Guenter Roeck 012e974501 xtensa: xtfpga: Try software restart before simulating CPU reset
Rebooting xtensa images loaded with the '-kernel' option in qemu does
not work. When executing a reboot command, the qemu session either hangs
or experiences an endless sequence of error messages.

  Kernel panic - not syncing: Unrecoverable error in exception handler

Reset code jumps to the CPU restart address, but Linux can not recover
from there because code and data in the kernel init sections have been
discarded and overwritten at this point.

XTFPGA platforms have a means to reset the CPU by writing 0xdead into a
specific FPGA IO address. When used in QEMU the kernel image loaded with
the '-kernel' option gets restored to its original state allowing the
machine to boot successfully.

Use that mechanism to attempt a platform reset. If it does not work,
fall back to the existing mechanism.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2021-10-05 12:19:05 -07:00
..
boot xtensa: remove unneeded export in boot-elf/Makefile 2021-04-04 15:39:02 -07:00
configs drivers/char: remove /dev/kmem for good 2021-05-07 00:26:34 -07:00
include xtensa: use CONFIG_USE_OF instead of CONFIG_OF 2021-09-27 06:08:58 -07:00
kernel xtensa: call irqchip_init only when CONFIG_USE_OF is selected 2021-09-27 09:46:33 -07:00
lib xtensa: propagate the calling conventions change down into csum_partial_copy_generic() 2020-08-20 15:45:21 -04:00
mm xtensa: use CONFIG_USE_OF instead of CONFIG_OF 2021-09-27 06:08:58 -07:00
platforms xtensa: xtfpga: Try software restart before simulating CPU reset 2021-10-05 12:19:05 -07:00
variants
Kbuild xtensa: move core-y in arch/xtensa/Makefile to arch/xtensa/Kbuild 2021-08-11 11:37:13 -07:00
Kconfig Tracing updates for 5.15: 2021-09-05 11:50:41 -07:00
Kconfig.debug xtensa: make stack dump size configurable 2019-11-26 11:33:39 -08:00
Makefile xtensa: move core-y in arch/xtensa/Makefile to arch/xtensa/Kbuild 2021-08-11 11:37:13 -07:00