zephyr/tests/kernel
Andrew Boie 17c0b372a2 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>
2016-07-28 18:13:24 +00:00
..
test_arm_m3_irq_vector_table tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_atomic
test_bitfield tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_build
test_context arc: move special-purpose irq priorities to flags 2016-07-26 15:06:28 +00:00
test_critical tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_early_sleep tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_errno
test_events tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_fifo tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_fifo_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_fp_sharing test_fp_sharing: Enable for Cortex-M4 2016-07-01 19:44:16 +00:00
test_intmath
test_ipm
test_irq_offload
test_libs tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_lifo
test_mail tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_mail_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_map tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_map_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_mem_safe
test_mutex tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_nano_work tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_obj_tracing tracing: test includes ipc console fiber if enabled 2016-07-08 20:34:30 +00:00
test_pend tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_pipe nios2: support more global pointer scenarios 2016-07-06 18:14:31 +00:00
test_pipe_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_pool test_pool: exclude on olimexino_stm32 and nucleo_f103rb 2016-07-12 19:29:19 +00:00
test_rand32 tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_ring_buf
test_sema tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_sema_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_sleep tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_slist
test_sprintf/microkernel
test_stack/nanokernel
test_stackprot tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_static_idt x86: improve exception APIs 2016-07-28 18:13:24 +00:00
test_task tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_task_priv tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00
test_tickless/microkernel tests: test_tickless: Fix NXP K64 symbol dependency 2016-07-28 07:20:12 -05:00
test_timer
test_xip tags: basic kernel objects test for actual hardware 2016-07-01 00:38:31 +00:00