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 --- |