zephyr/arch
Andrew Boie d2886ab8bc x86: clear EFLAGS on double fault
In the event of a double fault, we do a HW task switch to
a special _df_tss hardware task which resets the stack
pointer to the interrupt stack and otherwise restores
the main hardware task to a runnable state so that
_df_handler_bottom() can run.

However, we need to make sure that _df_handler_bottom()
runs with interrupts locked, otherwise another IRQ could
corrupt the interrupt stack resulting in undefined
behavior.

We have very little stack space to work with in this
context, just zero it. It's a fatal error for the thread
in any event.

Fixes: #7291

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2019-02-13 10:58:42 -08:00
..
arc power: Fix naming of Kconfig options controlling deep sleep states 2019-02-12 07:46:32 -05:00
arm arch: arm: mpu: get the region sizes from the linker 2019-02-13 06:58:01 -06:00
common gen_isr_tables: Fix _sw_isr_table generation for multi-level IRQs 2019-02-06 10:13:25 -05:00
nios2 arch: Add 'U' to unsigned variable assignments 2018-12-04 22:51:56 -05:00
posix kernel: Split reschdule & pend into irq/spin lock versions 2019-02-08 14:49:39 -05:00
riscv32 arch: riscv32: Fix trivial comment 2019-01-31 07:40:24 -05:00
x86 x86: clear EFLAGS on double fault 2019-02-13 10:58:42 -08:00
x86_64 cmake: Use a variable for 'zephyr_prebuilt' 2019-01-19 07:21:55 -05:00
xtensa esp32: fix build error regarding multiplt BIT() definitions 2019-01-11 15:05:31 -08:00
CMakeLists.txt Build: Added support for out-of-tree Arch 2019-02-07 17:00:43 -05:00
Kconfig power: Fix naming of Kconfig options controlling deep sleep states 2019-02-12 07:46:32 -05:00