summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authorAndrew Boie <andrew.p.boie@intel.com>2016-07-26 14:55:41 -0700
committerAndrew Boie <andrew.p.boie@intel.com>2016-07-28 18:13:24 +0000
commit17c0b372a2f8a8e9cc5967a49e37b43419dccb48 (patch)
treee9f453eda03ba17de13171eea29d1f5b1564424b /misc
parentd67745796edd03131eb587bd7c64bbb692f2d8a5 (diff)
x86: improve exception APIs
Previously, exception stubs had to be declared in assembly language files. Now we have two new APIs to regsiter exception handlers at C toplevel: _EXCEPTION_CONNECT_CODE(handler, vector) _EXCEPTION_CONNECT_NOCODE(handler, vector) For x86 exceptions that do and do not push error codes onto the stack respectively. In addition, it's now no longer necessary to #define around exception registration. We now use .gnu.linkonce magic such that the first _EXCEPTION_CONNECT_*() that the linker finds is used for the specified vector. Applications are free to install their own exception handlers which will take precedence over default handlers such as installed by arch/x86/core/fatal.c Some Makefiles have been adjusted so that the default exception handlers in arch/x86/core/fatal.c are linked last. The code has been tested that the right order of precedence is taken for exceptions overridden in the floating point, gdb debug, or application code. The asm SYS_NANO_CPU_EXC_CONNECT API has been removed; it was ill- conceived as it only worked for exceptions that didn't push error codes. All the asm NANO_CPU_EXC_CONNECT_* APIs are gone as well in favor of the new _EXCEPTION_CONNNECT_*() APIs. CONFIG_EXCEPTION_DEBUG no longer needs to be disabled for test cases that define their own exception handlers. Issue: ZEP-203 Change-Id: I782e0143fba832d18cdf4daaa7e47820595fe041 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Diffstat (limited to 'misc')
-rw-r--r--misc/debug/Kconfig12
1 files changed, 0 insertions, 12 deletions
diff --git a/misc/debug/Kconfig b/misc/debug/Kconfig
index 338f9df47..675a5b117 100644
--- a/misc/debug/Kconfig
+++ b/misc/debug/Kconfig
@@ -67,17 +67,6 @@ endmenu
#
# Generic Debugging Options
#
-
-config DEBUGGER_OWNS_FATAL_PROG_EXC_HANDLERS
- bool "Debugger provides handlers for some fatal programmer exceptions"
- default n
- depends on X86 && !X86_IAMCU
- help
- Give control to a target debugger such as GDB over the divide-by-zero
- and page fault exceptions.
-
- NOTE: Does not currently work with the x86 IAMCU ABI.
-
config DEBUG_INFO
bool "Enable system debugging information"
default n
@@ -101,7 +90,6 @@ config GDB_SERVER
select MEM_SAFE
select DEBUG_INFO
select UART_CONSOLE_DEBUG_SERVER_HOOKS
- select DEBUGGER_OWNS_FATAL_PROG_EXC_HANDLERS if !GDB_SERVER_BOOTLOADER
help
This option enables the GDB Server support.