# Copyright 2021 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. if PLATFORM_EC_DEBUG_ASSERT choice PLATFORM_EC_DEBUG_ASSERT_MODE prompt "Select behaviour on assertion failure" help This selects the action taken when the board hits an assertion failure in the code. This should not happen in normal operation, but can appear during development when the code is not yet fully tested. config PLATFORM_EC_DEBUG_ASSERT_REBOOTS bool "Reboot" help Prints a message and reboot if an assert() macro fails at runtime. If PLATFORM_EC_SOFTWARE_PANIC is enabled then the information is written to the panic log before rebooting. config PLATFORM_EC_DEBUG_ASSERT_BREAKPOINT bool "Generate a breakpoint" help Immediately hits a breakpoint instruction (without printing a message) so that a connected JTAG debugger can be used to debug the problem from there. If there is no debugger connected then the breakpoint instruction will cause the board to reboot immediately. endchoice # PLATFORM_EC_DEBUG_ASSERT_MODE config PLATFORM_EC_DEBUG_ASSERT_BRIEF bool "Use brief assertion-failure messages" depends on PLATFORM_EC_DEBUG_ASSERT_REBOOTS help Normally the assertion-failure messages include the expression that failed and the function name where the failure occurred. These are both stored as strings and can add a lot to the size of the image, since they are generated for every call to assert(). Use this option to drop them so that only the file and line number are shown. This option is of course not available with PLATFORM_EC_DEBUG_ASSERT_BREAKPOINT, since that does not print a message at all. endif # PLATFORM_EC_DEBUG_ASSERT