summaryrefslogtreecommitdiff
path: root/zephyr/Kconfig.panic
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/Kconfig.panic')
-rw-r--r--zephyr/Kconfig.panic43
1 files changed, 43 insertions, 0 deletions
diff --git a/zephyr/Kconfig.panic b/zephyr/Kconfig.panic
new file mode 100644
index 0000000000..768526d1f6
--- /dev/null
+++ b/zephyr/Kconfig.panic
@@ -0,0 +1,43 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if PLATFORM_EC_PANIC
+
+config PLATFORM_EC_SOFTWARE_PANIC
+ bool "Software panic"
+ default y
+ help
+ Sometimes the EC has bugs that are provoked by unexpected events.
+ This enables storing a panic log and halt the system for
+ software-related reasons, such as stack overflow or assertion
+ failure.
+
+config PLATFORM_EC_CONSOLE_CMD_CRASH
+ bool "Console command: crash"
+ default y
+ help
+ For testing purposes it is useful to be able to generation exceptions
+ to check that the panic reporting is working correctly. The enables
+ the 'crash' command which supports generating various exceptions,
+ selected by its parameter:
+
+ assert - assertion failure (ASSERT() macro)
+ divzero - division by zero
+ udivzero - division of unsigned value by zero
+ stack (if enabled) - stack overflow
+ unaligned - unaligned access (e.g. word load from 0x123)
+ watchdog - watchdog timer fired
+ hang - infinite loop in the EC code
+
+config PLATFORM_EC_STACKOVERFLOW
+ bool "Console command: crash stack"
+ depends on PLATFORM_EC_CONSOLE_CMD_CRASH
+ default y
+ help
+ This enables the 'stack' parameter for the 'crash' command. This
+ causes a stack overflow by recursing repeatedly while task switching.
+ This can be used to check that stack-overflow detection is working
+ as expected.
+
+endif # PLATFORM_EC_PANIC