Commit a33e763c authored by Julius Werner's avatar Julius Werner
Browse files

rockchip: Implement a panic handler that will reboot the system



The current Rockchip platform code retains the "common" default panic
handler which simply hangs the system (until the watchdog kicks in, if
enabled). This is usually not a great user experience.

This patch implements a Rockchip-specific panic handler that calls the
platform's reboot implementation to reset the system.

Change-Id: I4cbe09c48f1b3f86ebdfc0108c186565f9ffc119
Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
parent 155a1006
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
.globl plat_crash_console_putc .globl plat_crash_console_putc
.globl plat_my_core_pos .globl plat_my_core_pos
.globl plat_reset_handler .globl plat_reset_handler
.globl plat_panic_handler
/* /*
* void plat_reset_handler(void); * void plat_reset_handler(void);
...@@ -107,6 +108,19 @@ func plat_crash_console_putc ...@@ -107,6 +108,19 @@ func plat_crash_console_putc
b console_core_putc b console_core_putc
endfunc plat_crash_console_putc endfunc plat_crash_console_putc
/* --------------------------------------------------------------------
* void plat_panic_handler(void)
* Call system reset function on panic. Set up an emergency stack so we
* can run C functions (it only needs to last for a few calls until we
* reboot anyway).
* --------------------------------------------------------------------
*/
func plat_panic_handler
msr spsel, #0
bl plat_set_my_stack
b rockchip_soc_soft_reset
endfunc plat_panic_handler
/* -------------------------------------------------------------------- /* --------------------------------------------------------------------
* void platform_cpu_warmboot (void); * void platform_cpu_warmboot (void);
* cpus online or resume enterpoint * cpus online or resume enterpoint
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment