summaryrefslogtreecommitdiff
path: root/common/panic_output.c
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2019-05-02 09:58:48 -0600
committerchrome-bot <chrome-bot@chromium.org>2019-05-04 03:17:25 -0700
commitc1b08cd1b240332abfac339823a7468f52ff843d (patch)
tree36dab0e83d126a10a34e046a1a017eced5d19ce4 /common/panic_output.c
parentacb893a320f0398d25083a9ea102329c619845ab (diff)
downloadchrome-ec-c1b08cd1b240332abfac339823a7468f52ff843d.tar.gz
ish: preserve panic data across reset
This commit stores panic data across reset by storing panic data in the last 256 bytes of AON memory (before AON ROM). > crash divzero ========== PANIC ========== Reason: Divide By Zero Error Code = 0xFF00B60C EIP = 0xFF010008 CS = 0x00010202 EFLAGS = 0x00103085 EAX = 0x00000001 EBX = 0xFF01B118 ECX = 0x00000000 EDX = 0x00000000 ESI = 0x00000000 EDI = 0xFF017E0E Resetting system... =========================== ... ISH reset ... > panicinfo Saved panic data: (NEW) Reason: Divide By Zero Error Code = 0xFF00B60C EIP = 0xFF010008 CS = 0x00010202 EFLAGS = 0x00103085 EAX = 0x00000001 EBX = 0xFF01B118 ECX = 0x00000000 EDX = 0x00000000 ESI = 0x00000000 EDI = 0xFF017E0E BUG=b:129425206 BRANCH=none TEST=see console output above (on arcada_ish) Change-Id: I5c9e458b53076eafe7fa50ba851f2c6e863f2247 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1593418 Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'common/panic_output.c')
-rw-r--r--common/panic_output.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/common/panic_output.c b/common/panic_output.c
index e6b48a375d..8d34adaa38 100644
--- a/common/panic_output.c
+++ b/common/panic_output.c
@@ -114,6 +114,7 @@ void panic(const char *msg)
struct panic_data *panic_get_data(void)
{
+ BUILD_ASSERT(sizeof(struct panic_data) <= CONFIG_PANIC_DATA_SIZE);
return pdata_ptr->magic == PANIC_DATA_MAGIC ? pdata_ptr : NULL;
}