@@ -642,9 +642,6 @@ config ARM64_ERRATUM_843419
642642
643643 If unsure, say Y.
644644
645- config ARM64_LD_HAS_FIX_ERRATUM_843419
646- def_bool $(ld-option,--fix-cortex-a53-843419)
647-
648645config ARM64_ERRATUM_1024718
649646 bool "Cortex-A55: 1024718: Update of DBM/AP bits without break before make might result in incorrect update"
650647 default y
@@ -1890,13 +1887,9 @@ config ARM64_PAN
18901887 The feature is detected at runtime, and will remain as a 'nop'
18911888 instruction if the cpu does not implement the feature.
18921889
1893- config AS_HAS_LSE_ATOMICS
1894- def_bool $(as-instr,.arch_extension lse)
1895-
18961890config ARM64_LSE_ATOMICS
18971891 bool
18981892 default ARM64_USE_LSE_ATOMICS
1899- depends on AS_HAS_LSE_ATOMICS
19001893
19011894config ARM64_USE_LSE_ATOMICS
19021895 bool "Atomic instructions"
@@ -1908,20 +1901,12 @@ config ARM64_USE_LSE_ATOMICS
19081901
19091902 Say Y here to make use of these instructions for the in-kernel
19101903 atomic routines. This incurs a small overhead on CPUs that do
1911- not support these instructions and requires the kernel to be
1912- built with binutils >= 2.25 in order for the new instructions
1913- to be used.
1904+ not support these instructions.
19141905
19151906endmenu # "ARMv8.1 architectural features"
19161907
19171908menu "ARMv8.2 architectural features"
19181909
1919- config AS_HAS_ARMV8_2
1920- def_bool $(cc-option,-Wa$(comma)-march=armv8.2-a)
1921-
1922- config AS_HAS_SHA3
1923- def_bool $(as-instr,.arch armv8.2-a+sha3)
1924-
19251910config ARM64_PMEM
19261911 bool "Enable support for persistent memory"
19271912 select ARCH_HAS_PMEM_API
@@ -1995,7 +1980,6 @@ config ARM64_PTR_AUTH_KERNEL
19951980 bool "Use pointer authentication for kernel"
19961981 default y
19971982 depends on ARM64_PTR_AUTH
1998- depends on (CC_HAS_SIGN_RETURN_ADDRESS || CC_HAS_BRANCH_PROT_PAC_RET) && AS_HAS_ARMV8_3
19991983 # Modern compilers insert a .note.gnu.property section note for PAC
20001984 # which is only understood by binutils starting with version 2.33.1.
20011985 depends on LD_IS_LLD || LD_VERSION >= 23301 || (CC_IS_GCC && GCC_VERSION < 90100)
@@ -2016,19 +2000,10 @@ config CC_HAS_BRANCH_PROT_PAC_RET
20162000 # GCC 9 or later, clang 8 or later
20172001 def_bool $(cc-option,-mbranch-protection=pac-ret+leaf)
20182002
2019- config CC_HAS_SIGN_RETURN_ADDRESS
2020- # GCC 7, 8
2021- def_bool $(cc-option,-msign-return-address=all)
2022-
2023- config AS_HAS_ARMV8_3
2024- def_bool $(cc-option,-Wa$(comma)-march=armv8.3-a)
2025-
20262003config AS_HAS_CFI_NEGATE_RA_STATE
2004+ # binutils 2.34+
20272005 def_bool $(as-instr,.cfi_startproc\n.cfi_negate_ra_state\n.cfi_endproc\n)
20282006
2029- config AS_HAS_LDAPR
2030- def_bool $(as-instr,.arch_extension rcpc)
2031-
20322007endmenu # "ARMv8.3 architectural features"
20332008
20342009menu "ARMv8.4 architectural features"
@@ -2056,20 +2031,13 @@ config ARM64_AMU_EXTN
20562031 correctly reflect reality. Most commonly, the value read will be 0,
20572032 indicating that the counter is not enabled.
20582033
2059- config AS_HAS_ARMV8_4
2060- def_bool $(cc-option,-Wa$(comma)-march=armv8.4-a)
2061-
20622034config ARM64_TLB_RANGE
20632035 bool "Enable support for tlbi range feature"
20642036 default y
2065- depends on AS_HAS_ARMV8_4
20662037 help
20672038 ARMv8.4-TLBI provides TLBI invalidation instruction that apply to a
20682039 range of input addresses.
20692040
2070- The feature introduces new assembly instructions, and they were
2071- support when binutils >= 2.30.
2072-
20732041endmenu # "ARMv8.4 architectural features"
20742042
20752043menu "ARMv8.5 architectural features"
@@ -2145,7 +2113,6 @@ config ARM64_MTE
21452113 default y
21462114 depends on ARM64_AS_HAS_MTE && ARM64_TAGGED_ADDR_ABI
21472115 depends on AS_HAS_ARMV8_5
2148- depends on AS_HAS_LSE_ATOMICS
21492116 # Required for tag checking in the uaccess routines
21502117 select ARM64_PAN
21512118 select ARCH_HAS_SUBPAGE_FAULTS
0 commit comments