xtensa: add load/store exception handler
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 13 Jun 2023 23:51:18 +0000 (16:51 -0700)
committerMax Filippov <jcmvbkbc@gmail.com>
Wed, 14 Jun 2023 04:56:27 +0000 (21:56 -0700)
commitf29cf77609cc401d28e2e7ec5c57d9d178ef347d
tree54198dcf0f6c2fd2d1720845d9b1f2302211cb55
parent651d4aff6892f630d399201f9ce94e240d932520
xtensa: add load/store exception handler

Memory attached to instruction bus of the xtensa CPU is only accessible
for a limited subset of opcodes. Other opcodes generate an exception
with the load/store error cause code. This property complicates use of
such systems. Provide a handler that recognizes and transparently fixes
such exceptions. The following opcodes are recognized when used outside
of FLIX bundles: l32i, l32i.n, l16ui, l16si, l8ui.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/Kconfig
arch/xtensa/include/asm/traps.h
arch/xtensa/kernel/align.S
arch/xtensa/kernel/setup.c
arch/xtensa/kernel/traps.c