From 90ef8b700629381ac62aae4f87612ef84b32cb35 Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Wed, 4 Mar 2015 10:35:25 -0800 Subject: lm4: stm32: Store panic data in backup registers on hard reset On hard reset / hibernate, RAM will be erased and panic data will normally be lost. When software panic data saving is enabled, try to save this data just before hard reset and restore it when we come back up. BUG=chrome-os-partner:37380 TEST=Manual on Samus with WP + SW sync enabled. Boot AP, then run "crash divzero" on console. After hard reset, verify that "panicinfo" dumps data and shows divzero exception code. BRANCH=Samus Signed-off-by: Shawn Nematbakhsh Change-Id: I9516dd4b6db12ef35e512cc4710f9b97d7e663cb Reviewed-on: https://chromium-review.googlesource.com/255912 Reviewed-by: Randall Spangler --- core/cortex-m0/task.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'core/cortex-m0/task.c') diff --git a/core/cortex-m0/task.c b/core/cortex-m0/task.c index 86fb7071d5..ffdbe49595 100644 --- a/core/cortex-m0/task.c +++ b/core/cortex-m0/task.c @@ -210,7 +210,9 @@ task_ *__svc_handler(int desched, task_id_t resched) if (*current->stack != STACK_UNUSED_VALUE) { panic_printf("\n\nStack overflow in %s task!\n", task_names[current - tasks]); +#ifdef CONFIG_SOFTWARE_PANIC software_panic(PANIC_SW_STACK_OVERFLOW, current - tasks); +#endif } #endif -- cgit v1.2.1