forked from zephyrproject-rtos/zephyr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]>
- Loading branch information
Andrew Boie
committed
Jul 28, 2016
1 parent
d677457
commit 17c0b37
Showing
16 changed files
with
132 additions
and
218 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
obj-y += core/ | ||
obj-$(CONFIG_GDB_SERVER) += debug/ | ||
obj-y += soc/$(SOC_PATH)/ | ||
# Must be last so that debug/ or soc/ can override default exception | ||
# handlers | ||
obj-y += core/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
ccflags-y += -I$(srctree)/kernel/nanokernel/include | ||
|
||
obj-$(CONFIG_GDB_SERVER) = gdb_arch.o gdb_dbg_regs.o gdb_arch_exc.o | ||
obj-$(CONFIG_GDB_SERVER) = gdb_arch.o gdb_dbg_regs.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.