arm64: kconfig: move emulation option under kernel features
Having the instruction emulation submenu underneath "platform selection" is a great way to hide options we don't want people to use, but somewhat confusing when you stumble across it there. Move the menuconfig option underneath "kernel features", where it makes a bit more sense. Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
d784e2988a
commit
1b907f46db
1 changed files with 52 additions and 54 deletions
|
@ -164,60 +164,6 @@ config ARCH_XGENE
|
||||||
help
|
help
|
||||||
This enables support for AppliedMicro X-Gene SOC Family
|
This enables support for AppliedMicro X-Gene SOC Family
|
||||||
|
|
||||||
comment "Processor Features"
|
|
||||||
|
|
||||||
menuconfig ARMV8_DEPRECATED
|
|
||||||
bool "Emulate deprecated/obsolete ARMv8 instructions"
|
|
||||||
depends on COMPAT
|
|
||||||
help
|
|
||||||
Legacy software support may require certain instructions
|
|
||||||
that have been deprecated or obsoleted in the architecture.
|
|
||||||
|
|
||||||
Enable this config to enable selective emulation of these
|
|
||||||
features.
|
|
||||||
|
|
||||||
If unsure, say Y
|
|
||||||
|
|
||||||
if ARMV8_DEPRECATED
|
|
||||||
|
|
||||||
config SWP_EMULATION
|
|
||||||
bool "Emulate SWP/SWPB instructions"
|
|
||||||
help
|
|
||||||
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.
|
|
||||||
|
|
||||||
In some older versions of glibc [<=2.8] SWP is used during futex
|
|
||||||
trylock() operations with the assumption that the code will not
|
|
||||||
be preempted. This invalid assumption may be more likely to fail
|
|
||||||
with SWP emulation enabled, leading to deadlock of the user
|
|
||||||
application.
|
|
||||||
|
|
||||||
NOTE: when accessing uncached shared regions, LDXR/STXR rely
|
|
||||||
on an external transaction monitoring block called a global
|
|
||||||
monitor to maintain update atomicity. If your system does not
|
|
||||||
implement a global monitor, this option can cause programs that
|
|
||||||
perform SWP operations to uncached memory to deadlock.
|
|
||||||
|
|
||||||
If unsure, say Y
|
|
||||||
|
|
||||||
config CP15_BARRIER_EMULATION
|
|
||||||
bool "Emulate CP15 Barrier instructions"
|
|
||||||
help
|
|
||||||
The CP15 barrier instructions - CP15ISB, CP15DSB, and
|
|
||||||
CP15DMB - are deprecated in ARMv8 (and ARMv7). It is
|
|
||||||
strongly recommended to use the ISB, DSB, and DMB
|
|
||||||
instructions instead.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
If unsure, say Y
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Bus support"
|
menu "Bus support"
|
||||||
|
@ -417,6 +363,58 @@ config FORCE_MAX_ZONEORDER
|
||||||
default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
|
default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
|
||||||
default "11"
|
default "11"
|
||||||
|
|
||||||
|
menuconfig ARMV8_DEPRECATED
|
||||||
|
bool "Emulate deprecated/obsolete ARMv8 instructions"
|
||||||
|
depends on COMPAT
|
||||||
|
help
|
||||||
|
Legacy software support may require certain instructions
|
||||||
|
that have been deprecated or obsoleted in the architecture.
|
||||||
|
|
||||||
|
Enable this config to enable selective emulation of these
|
||||||
|
features.
|
||||||
|
|
||||||
|
If unsure, say Y
|
||||||
|
|
||||||
|
if ARMV8_DEPRECATED
|
||||||
|
|
||||||
|
config SWP_EMULATION
|
||||||
|
bool "Emulate SWP/SWPB instructions"
|
||||||
|
help
|
||||||
|
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.
|
||||||
|
|
||||||
|
In some older versions of glibc [<=2.8] SWP is used during futex
|
||||||
|
trylock() operations with the assumption that the code will not
|
||||||
|
be preempted. This invalid assumption may be more likely to fail
|
||||||
|
with SWP emulation enabled, leading to deadlock of the user
|
||||||
|
application.
|
||||||
|
|
||||||
|
NOTE: when accessing uncached shared regions, LDXR/STXR rely
|
||||||
|
on an external transaction monitoring block called a global
|
||||||
|
monitor to maintain update atomicity. If your system does not
|
||||||
|
implement a global monitor, this option can cause programs that
|
||||||
|
perform SWP operations to uncached memory to deadlock.
|
||||||
|
|
||||||
|
If unsure, say Y
|
||||||
|
|
||||||
|
config CP15_BARRIER_EMULATION
|
||||||
|
bool "Emulate CP15 Barrier instructions"
|
||||||
|
help
|
||||||
|
The CP15 barrier instructions - CP15ISB, CP15DSB, and
|
||||||
|
CP15DMB - are deprecated in ARMv8 (and ARMv7). It is
|
||||||
|
strongly recommended to use the ISB, DSB, and DMB
|
||||||
|
instructions instead.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
If unsure, say Y
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
menu "Boot options"
|
menu "Boot options"
|
||||||
|
|
Loading…
Add table
Reference in a new issue