summaryrefslogtreecommitdiff
path: root/arch/xtensa/Kconfig
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-09-17 14:27:30 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-17 14:27:30 -0700
commit6dec8c15e5faa2a3c02d2e1d1b03b926b545ec0a (patch)
tree71d5a41de2c90d4f49b77f5397b2d6bbb18f0d31 /arch/xtensa/Kconfig
parentd590284419b1d7cc2dc646e9bdde4da19061cf0f (diff)
parent982792f45894878b9ec13df81e6e02209b34cb11 (diff)
downloadlwn-6dec8c15e5faa2a3c02d2e1d1b03b926b545ec0a.tar.gz
lwn-6dec8c15e5faa2a3c02d2e1d1b03b926b545ec0a.zip
Merge tag 'xtensa-20190917' of git://github.com/jcmvbkbc/linux-xtensa
Pull Xtensa updates from Max Filippov: - add support for xtensa call0 ABI in userspace - update xtensa virt board DTS for PCI root complex in KIO range - remove free_initrd_mem * tag 'xtensa-20190917' of git://github.com/jcmvbkbc/linux-xtensa: xtensa: virt: move PCI root complex to KIO range xtensa: add support for call0 ABI in userspace xtensa: clean up PS_WOE_BIT usage xtensa: remove free_initrd_mem
Diffstat (limited to 'arch/xtensa/Kconfig')
-rw-r--r--arch/xtensa/Kconfig48
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index ebc135bda921..fb64469ca8f0 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -385,6 +385,54 @@ config FAST_SYSCALL_SPILL_REGISTERS
If unsure, say N.
+config USER_ABI_CALL0
+ bool
+
+choice
+ prompt "Userspace ABI"
+ default USER_ABI_DEFAULT
+ help
+ Select supported userspace ABI.
+
+ If unsure, choose the default ABI.
+
+config USER_ABI_DEFAULT
+ bool "Default ABI only"
+ help
+ Assume default userspace ABI. For XEA2 cores it is windowed ABI.
+ call0 ABI binaries may be run on such kernel, but signal delivery
+ will not work correctly for them.
+
+config USER_ABI_CALL0_ONLY
+ bool "Call0 ABI only"
+ select USER_ABI_CALL0
+ help
+ Select this option to support only call0 ABI in userspace.
+ Windowed ABI binaries will crash with a segfault caused by
+ an illegal instruction exception on the first 'entry' opcode.
+
+ Choose this option if you're planning to run only user code
+ built with call0 ABI.
+
+config USER_ABI_CALL0_PROBE
+ bool "Support both windowed and call0 ABI by probing"
+ select USER_ABI_CALL0
+ help
+ Select this option to support both windowed and call0 userspace
+ ABIs. When enabled all processes are started with PS.WOE disabled
+ and a fast user exception handler for an illegal instruction is
+ used to turn on PS.WOE bit on the first 'entry' opcode executed by
+ the userspace.
+
+ This option should be enabled for the kernel that must support
+ both call0 and windowed ABIs in userspace at the same time.
+
+ Note that Xtensa ISA does not guarantee that entry opcode will
+ raise an illegal instruction exception on cores with XEA2 when
+ PS.WOE is disabled, check whether the target core supports it.
+
+endchoice
+
endmenu
config XTENSA_CALIBRATE_CCOUNT