mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
arm64: Document sysctls for emulated deprecated instructions
We have support for emulating a number of deprecated instructions in the kernel with individual Kconfig options enabling this support per instruction. In addition to the Kconfig options we also provide runtime control via sysctls but this is not currently mentioned in the Kconfig so not very discoverable for users. This is particularly important for SWP/SWPB since this is disabled by default at runtime and must be enabled via the sysctl, causing considerable frustration for users who have enabled the config option and are then confused to find that the instruction is still faulting. Add a reference to the sysctls in the help text for each of the config options, noting that SWP/SWPB is disabled by default, to improve the user experience. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20200625131507.32334-1-broonie@kernel.org Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
638d503130
commit
dd72078466
@ -1327,6 +1327,8 @@ config SWP_EMULATION
|
||||
ARMv8 obsoletes the use of A32 SWP/SWPB instructions such that
|
||||
they are always undefined. Say Y here to enable software
|
||||
emulation of these instructions for userspace using LDXR/STXR.
|
||||
This feature can be controlled at runtime with the abi.swp
|
||||
sysctl which is disabled by default.
|
||||
|
||||
In some older versions of glibc [<=2.8] SWP is used during futex
|
||||
trylock() operations with the assumption that the code will not
|
||||
@ -1353,7 +1355,8 @@ config CP15_BARRIER_EMULATION
|
||||
Say Y here to enable software emulation of these
|
||||
instructions for AArch32 userspace code. When this option is
|
||||
enabled, CP15 barrier usage is traced which can help
|
||||
identify software that needs updating.
|
||||
identify software that needs updating. This feature can be
|
||||
controlled at runtime with the abi.cp15_barrier sysctl.
|
||||
|
||||
If unsure, say Y
|
||||
|
||||
@ -1364,7 +1367,8 @@ config SETEND_EMULATION
|
||||
AArch32 EL0, and is deprecated in ARMv8.
|
||||
|
||||
Say Y here to enable software emulation of the instruction
|
||||
for AArch32 userspace code.
|
||||
for AArch32 userspace code. This feature can be controlled
|
||||
at runtime with the abi.setend sysctl.
|
||||
|
||||
Note: All the cpus on the system must have mixed endian support at EL0
|
||||
for this feature to be enabled. If a new CPU - which doesn't support mixed
|
||||
|
Loading…
Reference in New Issue
Block a user