zephyr/arch/xtensa/include
Andy Ross 285c5b26dd xtensa/asm2: Save shift/loop registers on exception entry
This was a little embarassing.  The swap code got this right, and the
interrupt exit path got it right, but on entry we weren't ever saving
the shift and loop registers for the interrupted context.

This almost always worked anyway as the loop registers aren't ever
used in any Zephyr code (gcc won't generate this style of loop AFAICT)
and the SAR shift amount register is generally used only in two pairs
of adjacent instructions making the chance of hitting that exact cycle
quite low in general.

But of course we have shift-happy crypto code in our tests, so this
got caught, thankfully.

See https://github.com/zephyrproject-rtos/zephyr/issues/6470

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-03-06 14:13:56 -08:00
..
kernel_arch_data.h kernel: Add alternative _arch_switch context switch primitive 2018-02-16 10:44:29 -05:00
kernel_arch_func.h xtensa: Make _arch_curr_cpu() work outside SMP 2018-02-16 10:44:29 -05:00
kernel_arch_thread.h
kernel_event_logger_arch.h
offsets_short_arch.h
xtensa-asm2-context.h xtensa: New asm layer to support SMP 2018-02-16 10:44:29 -05:00
xtensa-asm2-s.h xtensa/asm2: Save shift/loop registers on exception entry 2018-03-06 14:13:56 -08:00
xtensa-asm2.h xtensa: New asm layer to support SMP 2018-02-16 10:44:29 -05:00
xtensa_api.h xtensa: Implement _xt_ints_on/off for asm2 2018-02-16 10:44:29 -05:00
xtensa_config.h
xtensa_context.h
xtensa_rtos.h timer: xtensa_sys_timer: Tickless Kernel Implementation for Xtensa 2017-11-07 08:17:40 -05:00
xtensa_timer.h timer: xtensa_sys_timer: Tickless Kernel Implementation for Xtensa 2017-11-07 08:17:40 -05:00