zephyr/include
Andy Ross 77719b81e9 arch/xtensa: Clean up fatal error handling
Update the xtensa backend to work better with the new fatal error
architecture.  Move the stack frame dump (xtensa uses a variable-size
frame becuase we don't spill unused register windows, so it doesn't
strictly have an ESF struct) into z_xtensa_fatal_error().  Unify the
older exception logging with the newer one (they'd been sort of glomed
together in the recent rework), mostly using the asm2 code but with
the exception cause stringification and the PS register field
extraction from the older one.

Note that one shortcoming is that the way the dispatch code works, we
don't have access to the spilled frame from within the spurious error
handler, so this can't log the interrupted CPU state.  This isn't
fixable easily without adding overhead to every interrupt entry, so it
needs to stay the way it is for now.  Longer term we could exract the
caller frame from the window state and figure it out with some
elaborate assembly, I guess.

Fixes #18140

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2019-08-22 17:57:40 -04:00
..
app_memory cleanup: include/: move misc/dlist.h to sys/dlist.h 2019-06-27 22:55:49 -04:00
arch arch/xtensa: Clean up fatal error handling 2019-08-22 17:57:40 -04:00
audio cleanup: include/: move i2s.h to drivers/i2s.h 2019-06-27 22:55:49 -04:00
bluetooth Bluetooth: GATT: Fix bt_gatt_notify_cb documentation 2019-08-22 15:14:39 +03:00
cmsis_rtos_v1
cmsis_rtos_v2
console cleanup: include/: move tty.h to console/tty.h 2019-06-27 22:55:49 -04:00
crypto cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
data include: json: reorder designated initializers 2019-07-22 18:10:51 -07:00
debug include: gcov: fix compilation error 2019-07-03 07:19:49 -07:00
dfu include/dfu: rearrange for standard use of extern "C" in private headers 2019-08-13 18:00:31 +02:00
disk sdhc: rename disk_access_sdhc.c 2019-07-10 11:58:15 -05:00
display subsys/cfb: improve font structure packing 2019-07-31 05:43:50 -04:00
drivers include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
dt-bindings interrupt_controller: gic: Add support for the GIC400 2019-08-09 22:50:50 +02:00
fs include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
linker LOG_BACKEND_DEFINE(): use Z_STRUCT_SECTION_ITERABLE() 2019-08-06 10:03:13 +02:00
logging LOG_BACKEND_DEFINE(): use Z_STRUCT_SECTION_ITERABLE() 2019-08-06 10:03:13 +02:00
mgmt
misc cleanup: include/: move misc/reboot.h to power/reboot.h 2019-06-27 22:55:49 -04:00
net include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
nvs cleanup: include/: move nvs/nvs.h to fs/nvs.h 2019-06-27 22:55:49 -04:00
posix include/posix: rearrange for standard use of extern "C" 2019-08-13 18:00:31 +02:00
power cleanup: include/: move misc/reboot.h to power/reboot.h 2019-06-27 22:55:49 -04:00
random
settings doc/settings: doxygen for settings read callback method 2019-08-12 15:25:17 +02:00
shell shell_history: align buffer to pointer size 2019-07-04 09:28:47 +02:00
stats cleanup: include/: move stats.h to stats/stats.h 2019-06-27 22:55:49 -04:00
storage include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys sys_sem: add build time definition macros 2019-08-22 07:38:56 -05:00
toolchain Revert "toolchain: gcc: Remove ref. to undefined sym. CONFIG_ISA_ARM" 2019-08-09 22:50:50 +02:00
usb usb: sort usb config data by section 2019-06-27 12:18:05 +02:00
zephyr riscv: make core code 64-bit compatible 2019-08-02 13:54:48 -07:00
adc.h cleanup: include/: move adc.h to drivers/adc.h 2019-06-27 22:55:49 -04:00
atomic.h cleanup: include/: move atomic.h to sys/atomic.h 2019-06-27 22:55:49 -04:00
base64.h cleanup: include/: move base64.h to sys/base64.h 2019-06-27 22:55:49 -04:00
cache.h
can.h cleanup: include/: move can.h to drivers/can.h 2019-06-27 22:55:49 -04:00
clock_control.h cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
console.h cleanup: include/: move console.h to console/console.h 2019-06-27 22:55:49 -04:00
counter.h cleanup: include/: move counter.h to drivers/counter.h 2019-06-27 22:55:49 -04:00
crc.h cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
device.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
disk_access.h cleanup: include/: move disk_access.h to disk/disk_access.h 2019-06-27 22:55:49 -04:00
display.h cleanup: include/: move display.h to drivers/display.h 2019-06-27 22:55:49 -04:00
dma.h cleanup: include/: move dma.h to drivers/dma.h 2019-06-27 22:55:49 -04:00
entropy.h cleanup: include/: move entropy.h to drivers/entropy.h 2019-06-27 22:55:49 -04:00
espi.h API: espi: Add API for Enhanced Serial Peripheral Interface 2019-07-25 08:23:38 -07:00
exc_handle.h
fatal.h kernel: add z_fatal_halt() to interface 2019-08-06 19:32:22 -07:00
fcb.h cleanup: include/: move fcb.h to fs/fcb.h 2019-06-27 22:55:49 -04:00
flash_map.h cleanup: include/: move flash_map.h to storage/flash_map.h 2019-06-27 22:55:49 -04:00
flash.h cleanup: include/: move flash.h to drivers/flash.h 2019-06-27 22:55:49 -04:00
fs.h cleanup: include/: move fs.h to fs/fs.h 2019-06-27 22:55:49 -04:00
generated_dts_board.h dts: Add new DTS/binding parser 2019-07-29 16:22:17 -04:00
gna.h cleanup: include/: move gna.h to drivers/gna.h 2019-06-27 22:55:49 -04:00
gpio.h cleanup: include/: move gpio.h to drivers/gpio.h 2019-06-27 22:55:49 -04:00
hwinfo.h cleanup: include/: move hwinfo.h to drivers/hwinfo.h 2019-06-27 22:55:49 -04:00
i2c.h cleanup: include/: move i2c.h to drivers/i2c.h 2019-06-27 22:55:49 -04:00
i2s.h cleanup: include/: move i2s.h to drivers/i2s.h 2019-06-27 22:55:49 -04:00
init.h
ipm.h cleanup: include/: move ipm.h to drivers/ipm.h 2019-06-27 22:55:49 -04:00
irq_nextlevel.h drivers: interrupts: Add a set_priority callback 2019-08-09 22:50:50 +02:00
irq_offload.h
irq.h
json.h cleanup: include/: move json.h to data/json.h 2019-06-27 22:55:49 -04:00
kernel_includes.h kernel: consolidate error handling code 2019-07-25 15:06:58 -07:00
kernel_version.h
kernel.h userspace: clarify k_mem_partition_add() 2019-08-05 13:25:50 +02:00
led_strip.h cleanup: include/: move led_strip.h to drivers/led_strip.h 2019-06-27 22:55:49 -04:00
led.h cleanup: include/: move led.h to drivers/led.h 2019-06-27 22:55:49 -04:00
pinmux.h cleanup: include/: move pinmux.h to drivers/pinmux.h 2019-06-27 22:55:49 -04:00
power.h cleanup: include/: move power.h to power/power.h 2019-06-27 22:55:49 -04:00
ptp_clock.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
pwm.h cleanup: include/: move pwm.h to drivers/pwm.h 2019-06-27 22:55:49 -04:00
ring_buffer.h cleanup: include/: move ring_buffer.h to sys/ring_buffer.h 2019-06-27 22:55:49 -04:00
rtc.h cleanup: include/: move rtc.h to drivers/rtc.h 2019-06-27 22:55:49 -04:00
sched_priq.h cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
sensor.h cleanup: include/: move sensor.h to drivers/sensor.h 2019-06-27 22:55:49 -04:00
shared_irq.h
spi.h cleanup: include/: move spi.h to drivers/spi.h 2019-06-27 22:55:49 -04:00
spinlock.h cleanup: include/: move misc/__assert.h to sys/__assert.h 2019-06-27 22:55:49 -04:00
stats.h cleanup: include/: move stats.h to stats/stats.h 2019-06-27 22:55:49 -04:00
sw_isr_table.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys_clock.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys_io.h cleanup: include/: move sys_io.h to sys/sys_io.h 2019-06-27 22:55:49 -04:00
syscall.h
toolchain.h
tracing.h cleanup: include/: move tracing.h to debug/tracing.h 2019-06-27 22:55:49 -04:00
tty.h cleanup: include/: move tty.h to console/tty.h 2019-06-27 22:55:49 -04:00
uart.h cleanup: include/: move uart.h to drivers/uart.h 2019-06-27 22:55:49 -04:00
updatehub.h
watchdog.h cleanup: include/: move watchdog.h to drivers/watchdog.h 2019-06-27 22:55:49 -04:00
zephyr.h