linux-hardened/arch/xtensa/kernel
Max Filippov 09f8a6db20 xtensa: add support for call0 ABI in userspace
Provide a Kconfig choice to select whether only the default ABI, only
call0 ABI or both are supported. The default for XEA2 is windowed, but
it may change for XEA3. Call0 only runs userspace with PS.WOE disabled.
Supporting both windowed and call0 ABIs is tricky, as there's no
indication in the ELF binaries which ABI they use. So it is done by
probing: each process is started with PS.WOE disabled, but the handler
of an illegal instruction exception taken with PS.WOE retries faulting
instruction after enabling PS.WOE. It must happen before any signal is
delivered to the process, otherwise it may be delivered incorrectly.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2019-09-01 13:11:57 -07:00
..
syscalls clone3-v5.3 2019-07-11 10:09:44 -07:00
.gitignore xtensa: tell git to ignore generated files 2013-06-05 10:14:19 -07:00
align.S xtensa: clean up word alignment macros in assembly code 2017-12-10 14:48:53 -08:00
asm-offsets.c xtensa: drop unused field from the struct exc_table 2018-12-03 01:39:22 -08:00
coprocessor.S xtensa: fix build for cores with coprocessors 2019-07-24 17:44:42 -07:00
entry.S xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
head.S xtensa: clean up PS_WOE_BIT usage 2019-09-01 13:11:57 -07:00
hw_breakpoint.c xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
irq.c xtensa: drop variant IRQ support 2018-08-20 12:28:05 -07:00
jump_label.c jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
Makefile xtensa: implement jump_label support 2018-12-20 14:44:38 -08:00
mcount.S xtensa: abstract 'entry' and 'retw' in assembly code 2019-07-08 10:04:48 -07:00
module.c xtensa: clean up custom-controlled debug output 2017-12-16 22:37:08 -08:00
mxhead.S xtensa: drop unused sections and remapped reset handlers 2015-11-03 17:19:39 +03:00
pci-dma.c dma-mapping updates for Linux 5.3 2019-07-12 15:13:55 -07:00
pci.c xtensa: use generic pcibios_set_master and pcibios_enable_device 2019-06-16 23:31:29 -07:00
perf_event.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
platform.c xtensa: drop dead PCI support code 2019-06-16 23:31:28 -07:00
process.c xtensa: drop unused definitions 2019-02-07 12:35:02 -08:00
ptrace.c xtensa: implement syscall tracepoints 2018-12-17 13:50:25 -08:00
s32c1i_selftest.c xtensa: move S32C1I self-test to a separate file 2016-11-16 15:08:28 -08:00
setup.c xtensa: remove free_initrd_mem 2019-08-26 18:19:04 -07:00
signal.c xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
smp.c xtensa: replace CONFIG_DEBUG_KERNEL with CONFIG_DEBUG_MISC 2019-05-14 19:52:50 -07:00
stacktrace.c xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
syscall.c xtensa: implement syscall tracepoints 2018-12-17 13:50:25 -08:00
time.c xtensa: clean up arch/xtensa/kernel/time.c 2019-02-07 12:16:49 -08:00
traps.c xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
vectors.S xtensa: use call instead of callx in assembly code 2017-12-10 14:48:52 -08:00
vmlinux.lds.S xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
xtensa_ksyms.c xtensa: use generic strncpy_from_user with KASAN 2017-12-17 15:34:57 -08:00