Kconfig (634e4ff9ffd8828eb76f23cf976ce77124e4e20d) Kconfig (85fcde402db191b5f222ebfecda653777d7d084e)
1# SPDX-License-Identifier: GPL-2.0-only
2config ARM64
3 def_bool y
4 select ACPI_APMT if ACPI
5 select ACPI_CCA_REQUIRED if ACPI
6 select ACPI_GENERIC_GSI if ACPI
7 select ACPI_GTDT if ACPI
8 select ACPI_IORT if ACPI

--- 368 unchanged lines hidden (view full) ---

377 def_bool y
378
379config BROKEN_GAS_INST
380 def_bool !$(as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n)
381
382config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
383 bool
384 # Clang's __builtin_return_adddress() strips the PAC since 12.0.0
1# SPDX-License-Identifier: GPL-2.0-only
2config ARM64
3 def_bool y
4 select ACPI_APMT if ACPI
5 select ACPI_CCA_REQUIRED if ACPI
6 select ACPI_GENERIC_GSI if ACPI
7 select ACPI_GTDT if ACPI
8 select ACPI_IORT if ACPI

--- 368 unchanged lines hidden (view full) ---

377 def_bool y
378
379config BROKEN_GAS_INST
380 def_bool !$(as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n)
381
382config BUILTIN_RETURN_ADDRESS_STRIPS_PAC
383 bool
384 # Clang's __builtin_return_adddress() strips the PAC since 12.0.0
385 # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2
386 default y if CC_IS_CLANG
385 # https://reviews.llvm.org/D75044
386 default y if CC_IS_CLANG && (CLANG_VERSION >= 120000)
387 # GCC's __builtin_return_address() strips the PAC since 11.1.0,
388 # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
389 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
390 default y if CC_IS_GCC && (GCC_VERSION >= 110100)
391 default y if CC_IS_GCC && (GCC_VERSION >= 100200) && (GCC_VERSION < 110000)
392 default y if CC_IS_GCC && (GCC_VERSION >= 90400) && (GCC_VERSION < 100000)
393 default y if CC_IS_GCC && (GCC_VERSION >= 80500) && (GCC_VERSION < 90000)
394 default n

--- 987 unchanged lines hidden (view full) ---

1382 default CPU_LITTLE_ENDIAN
1383 help
1384 Select the endianness of data accesses performed by the CPU. Userspace
1385 applications will need to be compiled and linked for the endianness
1386 that is selected here.
1387
1388config CPU_BIG_ENDIAN
1389 bool "Build big-endian kernel"
387 # GCC's __builtin_return_address() strips the PAC since 11.1.0,
388 # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
389 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94891
390 default y if CC_IS_GCC && (GCC_VERSION >= 110100)
391 default y if CC_IS_GCC && (GCC_VERSION >= 100200) && (GCC_VERSION < 110000)
392 default y if CC_IS_GCC && (GCC_VERSION >= 90400) && (GCC_VERSION < 100000)
393 default y if CC_IS_GCC && (GCC_VERSION >= 80500) && (GCC_VERSION < 90000)
394 default n

--- 987 unchanged lines hidden (view full) ---

1382 default CPU_LITTLE_ENDIAN
1383 help
1384 Select the endianness of data accesses performed by the CPU. Userspace
1385 applications will need to be compiled and linked for the endianness
1386 that is selected here.
1387
1388config CPU_BIG_ENDIAN
1389 bool "Build big-endian kernel"
1390 depends on !LD_IS_LLD || LLD_VERSION >= 130000
1390 # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
1391 depends on AS_IS_GNU || AS_VERSION >= 150000
1392 help
1393 Say Y if you plan on running a kernel with a big-endian userspace.
1394
1395config CPU_LITTLE_ENDIAN
1396 bool "Build little-endian kernel"
1397 help

--- 115 unchanged lines hidden (view full) ---

1513
1514config ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG
1515 def_bool y
1516
1517config ARCH_SUPPORTS_CRASH_DUMP
1518 def_bool y
1519
1520config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION
1391 # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
1392 depends on AS_IS_GNU || AS_VERSION >= 150000
1393 help
1394 Say Y if you plan on running a kernel with a big-endian userspace.
1395
1396config CPU_LITTLE_ENDIAN
1397 bool "Build little-endian kernel"
1398 help

--- 115 unchanged lines hidden (view full) ---

1514
1515config ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG
1516 def_bool y
1517
1518config ARCH_SUPPORTS_CRASH_DUMP
1519 def_bool y
1520
1521config ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION
1521 def_bool CRASH_CORE
1522 def_bool CRASH_RESERVE
1522
1523config TRANS_TABLE
1524 def_bool y
1525 depends on HIBERNATION || KEXEC_CORE
1526
1527config XEN_DOM0
1528 def_bool y
1529 depends on XEN

--- 482 unchanged lines hidden (view full) ---

2012 default y
2013 depends on ARM64_BTI
2014 depends on ARM64_PTR_AUTH_KERNEL
2015 depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
2016 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
2017 depends on !CC_IS_GCC || GCC_VERSION >= 100100
2018 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
2019 depends on !CC_IS_GCC
1523
1524config TRANS_TABLE
1525 def_bool y
1526 depends on HIBERNATION || KEXEC_CORE
1527
1528config XEN_DOM0
1529 def_bool y
1530 depends on XEN

--- 482 unchanged lines hidden (view full) ---

2013 default y
2014 depends on ARM64_BTI
2015 depends on ARM64_PTR_AUTH_KERNEL
2016 depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI
2017 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697
2018 depends on !CC_IS_GCC || GCC_VERSION >= 100100
2019 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671
2020 depends on !CC_IS_GCC
2021 # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
2022 depends on !CC_IS_CLANG || CLANG_VERSION >= 120000
2020 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
2021 help
2022 Build the kernel with Branch Target Identification annotations
2023 and enable enforcement of this for kernel code. When this option
2024 is enabled and the system supports BTI all kernel code including
2025 modular code must have BTI enabled.
2026
2027config CC_HAS_BRANCH_PROT_PAC_RET_BTI

--- 186 unchanged lines hidden (view full) ---

2214 def_bool $(cc-option,-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=0)
2215
2216config STACKPROTECTOR_PER_TASK
2217 def_bool y
2218 depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_SYSREG
2219
2220config UNWIND_PATCH_PAC_INTO_SCS
2221 bool "Enable shadow call stack dynamically using code patching"
2023 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_ARGS)
2024 help
2025 Build the kernel with Branch Target Identification annotations
2026 and enable enforcement of this for kernel code. When this option
2027 is enabled and the system supports BTI all kernel code including
2028 modular code must have BTI enabled.
2029
2030config CC_HAS_BRANCH_PROT_PAC_RET_BTI

--- 186 unchanged lines hidden (view full) ---

2217 def_bool $(cc-option,-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=0)
2218
2219config STACKPROTECTOR_PER_TASK
2220 def_bool y
2221 depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_SYSREG
2222
2223config UNWIND_PATCH_PAC_INTO_SCS
2224 bool "Enable shadow call stack dynamically using code patching"
2222 # needs Clang with https://github.com/llvm/llvm-project/commit/de07cde67b5d205d58690be012106022aea6d2b3 incorporated
2225 # needs Clang with https://reviews.llvm.org/D111780 incorporated
2223 depends on CC_IS_CLANG && CLANG_VERSION >= 150000
2224 depends on ARM64_PTR_AUTH_KERNEL && CC_HAS_BRANCH_PROT_PAC_RET
2225 depends on SHADOW_CALL_STACK
2226 select UNWIND_TABLES
2227 select DYNAMIC_SCS
2228
2226 depends on CC_IS_CLANG && CLANG_VERSION >= 150000
2227 depends on ARM64_PTR_AUTH_KERNEL && CC_HAS_BRANCH_PROT_PAC_RET
2228 depends on SHADOW_CALL_STACK
2229 select UNWIND_TABLES
2230 select DYNAMIC_SCS
2231
2232config ARM64_CONTPTE
2233 bool "Contiguous PTE mappings for user memory" if EXPERT
2234 depends on TRANSPARENT_HUGEPAGE
2235 default y
2236 help
2237 When enabled, user mappings are configured using the PTE contiguous
2238 bit, for any mappings that meet the size and alignment requirements.
2239 This reduces TLB pressure and improves performance.
2240
2229endmenu # "Kernel Features"
2230
2231menu "Boot options"
2232
2233config ARM64_ACPI_PARKING_PROTOCOL
2234 bool "Enable support for the ARM64 ACPI parking protocol"
2235 depends on ACPI
2236 help

--- 102 unchanged lines hidden ---
2241endmenu # "Kernel Features"
2242
2243menu "Boot options"
2244
2245config ARM64_ACPI_PARKING_PROTOCOL
2246 bool "Enable support for the ARM64 ACPI parking protocol"
2247 depends on ACPI
2248 help

--- 102 unchanged lines hidden ---