zephyr/arch
Andrew Boie 80e82e7205 x86: stack overflow improvements
As luck would have it, the TSS for the main IA task has
all the information we need, populate an exception stack
frame with it.

The double-fault handler just stashes data and makes the main
hardware thread runnable again, and processing of the
exception continues from there.

We check the first byte before the faulting ESP value to see
if the stack pointer had run up to a non-present page, a sign
that this is a stack overflow and not a double fault for
some other reason.

Stack overflows in kernel mode are now recoverable for non-
essential threads, with the caveat that we hope we weren't in
a critical section updating kernel data structures when it
happened.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-08-03 11:46:26 -04:00
..
arc kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
arm arch: arm: stm32: f3/f4/l4: write output speed to hardware register 2017-08-02 12:28:11 -05:00
common
nios2 kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
riscv32 kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
x86 x86: stack overflow improvements 2017-08-03 11:46:26 -04:00
xtensa kernel: introduce opaque data type for stacks 2017-08-01 16:43:15 -07:00
Kconfig
Makefile