Lines Matching +full:in +full:- +full:and +full:- +full:around
1 # SPDX-License-Identifier: GPL-2.0-only
196 if $(cc-option,-fpatchable-function-entry=2)
261 ARM 64-bit (AArch64) Linux support.
271 depends on $(cc-option,-fpatchable-function-entry=2)
304 # VA_BITS - PAGE_SHIFT - 3
380 def_bool !$(as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n)
388 # and this was backported to 10.2.0, 9.4.0, 8.5.0, but not earlier
421 …bool "AmpereOne: AC03_CPU_38: Certain bits in the Virtualization Translation Control Register and …
424 This option adds an alternative code sequence to work around Ampere
427 The affected design reports FEAT_HAFDBS as not implemented in
435 at stage-2.
443 …bool "Cortex-A53: 826319: System might deadlock if a write cannot complete until read data is acce…
447 This option adds an alternative code sequence to work around ARM
448 erratum 826319 on Cortex-A53 parts up to r0p2 with an AMBA 4 ACE or
449 AXI master interface and an L2 cache.
451 If a Cortex-A53 uses an AMBA AXI4 ACE interface to other processors
452 and is unable to accept a certain write via this interface, it will
453 not progress on read data presented on the read data channel and the
457 data cache clean-and-invalidate.
465 …bool "Cortex-A53: 827319: Data cache clean instructions might cause overlapping transactions to th…
469 This option adds an alternative code sequence to work around ARM
470 erratum 827319 on Cortex-A53 parts up to r0p2 with an AMBA 5 CHI
471 master interface and an L2 cache.
479 data cache clean-and-invalidate.
487 bool "Cortex-A53: 824069: Cache line might not be marked as clean after a CleanShared snoop"
491 This option adds an alternative code sequence to work around ARM
492 erratum 824069 on Cortex-A53 parts up to r0p2 when it is connected
495 If a Cortex-A53 processor is executing a store or prefetch for
496 write instruction at the same time as a processor in another
502 data cache clean-and-invalidate.
510 bool "Cortex-A53: 819472: Store exclusive instructions might cause data corruption"
514 This option adds an alternative code sequence to work around ARM
515 erratum 819472 on Cortex-A53 parts up to r0p1 with an L2 cache
518 If the processor is executing a load and store exclusive sequence at
519 the same time as a processor in another cluster is executing a cache
524 data cache clean-and-invalidate.
532 bool "Cortex-A57: 832075: possible deadlock on mixing exclusive memory accesses with device loads"
535 This option adds an alternative code sequence to work around ARM
536 erratum 832075 on Cortex-A57 parts up to r1p2.
538 Affected Cortex-A57 parts might deadlock when exclusive load/store
539 instructions to Write-Back memory are mixed with Device loads.
541 The workaround is to promote device loads to use Load-Acquire
550 …bool "Cortex-A57: 834220: Stage 2 translation fault might be incorrectly reported in presence of a…
554 This option adds an alternative code sequence to work around ARM
555 erratum 834220 on Cortex-A57 parts up to r1p2.
557 Affected Cortex-A57 parts might report a Stage 2 translation
560 alignment fault at Stage 1 and a translation fault at Stage 2.
571 …bool "Cortex-A57/A72: 1742098: ELR recorded incorrectly on interrupt taken between cryptographic i…
575 This option removes the AES hwcap for aarch32 user-space to
576 workaround erratum 1742098 on Cortex-A57 and Cortex-A72.
587 bool "Cortex-A53: 845719: a load might read incorrect data"
591 This option adds an alternative code sequence to work around ARM
592 erratum 845719 on Cortex-A53 parts up to r0p4.
594 When running a compat (AArch32) userspace on an affected Cortex-A53
600 return to a 32-bit task.
608 bool "Cortex-A53: 843419: A load or store might access an incorrect address"
611 This option links the kernel with '--fix-cortex-a53-843419' and
614 Cortex-A53 parts up to r0p4.
619 def_bool $(ld-option,--fix-cortex-a53-843419)
622 …bool "Cortex-A55: 1024718: Update of DBM/AP bits without break before make might result in incorre…
625 This option adds a workaround for ARM Cortex-A55 Erratum 1024718.
627 Affected Cortex-A55 cores (all revisions) could cause incorrect
629 without a break-before-make. The workaround is to disable the usage
636 …bool "Cortex-A76/Neoverse-N1: MRC read following MRRC read of specific Generic Timer in AArch32 mi…
640 This option adds a workaround for ARM Cortex-A76/Neoverse-N1
641 errata 1188873 and 1418040.
643 Affected Cortex-A76/Neoverse-N1 cores (r0p0 to r3p1) could
653 …bool "Cortex-A76: 1165522: Speculative AT instruction using out-of-context translation regime coul…
657 This option adds a workaround for ARM Cortex-A76 erratum 1165522.
659 Affected Cortex-A76 cores (r0p0, r1p0, r2p0) could end-up with
666 …bool "Cortex-A57/A72: 1319537: Speculative AT instruction using out-of-context translation regime …
670 This option adds work arounds for ARM Cortex-A57 erratum 1319537
671 and A72 erratum 1319367
673 Cortex-A57 and A72 cores could end-up with corrupted TLBs by
679 …bool "Cortex-A55: 1530923: Speculative AT instruction using out-of-context translation regime coul…
683 This option adds a workaround for ARM Cortex-A55 erratum 1530923.
685 Affected Cortex-A55 cores (r0p0, r0p1, r1p0, r2p0) could end-up with
695 …bool "Cortex-A55: Completion of affected memory accesses might not be guaranteed by completion of …
699 This option adds a workaround for ARM Cortex-A55 erratum #2441007.
701 Under very rare circumstances, affected Cortex-A55 CPUs
702 may not handle a race between a break-before-make sequence on one
703 CPU, and another CPU accessing the same page. This could allow a
706 Work around this by adding the affected CPUs to the list that needs
712 …bool "Cortex-A76: Modification of the translation table for a virtual address might lead to read-a…
716 This option adds a workaround for ARM Cortex-A76 erratum 1286807.
718 On the affected Cortex-A76 cores (r0p0 to r3p0), if a virtual
722 break-before-make sequence, then under very rare circumstances
728 bool "Cortex-A76: Software Step might prevent interrupt recognition"
731 This option adds a workaround for Arm Cortex-A76 erratum 1463225.
733 On the affected Cortex-A76 cores (r0p0 to r3p1), software stepping
735 subsequent interrupts when software stepping is disabled in the
736 exception handler of the system call and either kernel debugging
737 is enabled or VHE is in use.
739 Work around the erratum by triggering a dummy step exception
741 in a VHE configuration of the kernel.
746 bool "Neoverse-N1: workaround mis-ordering of instruction fetches"
749 This option adds a workaround for ARM Neoverse-N1 erratum
752 Affected Neoverse-N1 cores could execute a stale instruction when
757 forces user-space to perform cache maintenance.
762 …bool "Cortex-A77: 1508412: workaround deadlock on sequence of NC/Device load and store exclusive o…
765 This option adds a workaround for Arm Cortex-A77 erratum 1508412.
767 Affected Cortex-A77 cores (r0p0, r1p0) could deadlock on a sequence
768 of a store-exclusive or read of PAR_EL1 and a load with device or
769 non-cacheable memory attributes. The workaround depends on a firmware
775 Work around the issue by inserting DMB SY barriers around PAR_EL1
776 register reads and warning KVM users. The DMB barrier is sufficient
785 bool "Cortex-A510: 2051678: disable Hardware Update of the page table dirty bit"
788 This options adds the workaround for ARM Cortex-A510 erratum ARM64_ERRATUM_2051678.
789 Affected Cortex-A510 might not respect the ordering rules for
796 bool "Cortex-A510: 2077057: workaround software-step corrupting SPSR_EL2"
799 This option adds the workaround for ARM Cortex-A510 erratum 2077057.
800 Affected Cortex-A510 may corrupt SPSR_EL2 when the a step exception is
808 previous guest entry, and can be restored from the in-memory copy.
813 bool "Cortex-A510: 2658417: remove BF16 support due to incorrect result"
816 This option adds the workaround for ARM Cortex-A510 erratum 2658417.
817 Affected Cortex-A510 (r0p0 to r1p1) may produce the wrong result for
818 BFMMLA or VMMLA instructions in rare circumstances when a pair of
821 user-space should not be using these instructions.
826 bool "Cortex-A710/X2: 2119858: workaround TRBE overwriting trace data in FILL mode"
831 This option adds the workaround for ARM Cortex-A710/X2 erratum 2119858.
833 Affected Cortex-A710/X2 cores could overwrite up to 3 cache lines of trace
834 data at the base of the buffer (pointed to by TRBASER_EL1) in FILL mode in
837 Work around the issue by always making sure we move the TRBPTR_EL1 by
838 256 bytes before enabling the buffer and filling the first 256 bytes of
844 bool "Neoverse-N2: 2139208: workaround TRBE overwriting trace data in FILL mode"
849 This option adds the workaround for ARM Neoverse-N2 erratum 2139208.
851 Affected Neoverse-N2 cores could overwrite up to 3 cache lines of trace
852 data at the base of the buffer (pointed to by TRBASER_EL1) in FILL mode in
855 Work around the issue by always making sure we move the TRBPTR_EL1 by
856 256 bytes before enabling the buffer and filling the first 256 bytes of
865 bool "Cortex-A710: 2054223: workaround TSB instruction failing to flush trace"
869 Enable workaround for ARM Cortex-A710 erratum 2054223
872 the PE is in trace prohibited state. This will cause losing a few bytes
880 bool "Neoverse-N2: 2067961: workaround TSB instruction failing to flush trace"
884 Enable workaround for ARM Neoverse-N2 erratum 2067961
887 the PE is in trace prohibited state. This will cause losing a few bytes
898 bool "Neoverse-N2: 2253138: workaround TRBE writing to address out-of-range"
903 This option adds the workaround for ARM Neoverse-N2 erratum 2253138.
905 Affected Neoverse-N2 cores might write to an out-of-range address, not reserved
908 (i.e., the TRBLIMITR_EL1.LIMIT), instead of wrapping around to the base.
910 Work around this in the driver by always making sure that there is a
916 bool "Cortex-A710/X2: 2224489: workaround TRBE writing to address out-of-range"
921 This option adds the workaround for ARM Cortex-A710/X2 erratum 2224489.
923 Affected Cortex-A710/X2 cores might write to an out-of-range address, not reserved
926 (i.e., the TRBLIMITR_EL1.LIMIT), instead of wrapping around to the base.
928 Work around this in the driver by always making sure that there is a
934 …bool "Cortex-A510: Completion of affected memory accesses might not be guaranteed by completion of…
938 This option adds a workaround for ARM Cortex-A510 erratum #2441009.
940 Under very rare circumstances, affected Cortex-A510 CPUs
941 may not handle a race between a break-before-make sequence on one
942 CPU, and another CPU accessing the same page. This could allow a
945 Work around this by adding the affected CPUs to the list that needs
951 bool "Cortex-A510: 2064142: workaround TRBE register writes while disabled"
955 This option adds the workaround for ARM Cortex-A510 erratum 2064142.
957 Affected Cortex-A510 core might fail to write into system registers after the
960 and TRBTRG_EL1 will be ignored and will not be effected.
962 Work around this in the driver by executing TSB CSYNC and DSB after collection
963 is stopped and before performing a system register write to one of the affected
969 bool "Cortex-A510: 2038923: workaround TRBE corruption with enable"
973 This option adds the workaround for ARM Cortex-A510 erratum 2038923.
975 Affected Cortex-A510 core might cause an inconsistent view on whether trace is
979 execution changes from a context, in which trace is prohibited to one where it
980 isn't, or vice versa. In these mentioned conditions, the view of whether trace
981 is prohibited is inconsistent between parts of the CPU, and the trace buffer or
984 Work around this in the driver by preventing an inconsistent view of whether the
992 bool "Cortex-A510: 1902691: workaround TRBE trace corruption"
996 This option adds the workaround for ARM Cortex-A510 erratum 1902691.
998 Affected Cortex-A510 core might cause trace data corruption, when being written
999 into the memory. Effectively TRBE is broken and hence cannot be used to capture
1002 Work around this problem in the driver by just preventing TRBE initialization on
1010 bool "Cortex-A510: 2457168: workaround for AMEVCNTR01 incrementing incorrectly"
1014 This option adds the workaround for ARM Cortex-A510 erratum 2457168.
1017 as the system counter. On affected Cortex-A510 cores AMEVCNTR01 increments
1020 Work around this problem by returning 0 when reading the affected counter in
1021 key locations that results in disabling all users of this counter. This effect
1027 bool "Cortex-A715: 2645198: Workaround possible [ESR|FAR]_ELx corruption"
1030 This option adds the workaround for ARM Cortex-A715 erratum 2645198.
1032 If a Cortex-A715 cpu sees a page mapping permissions change from executable
1033 to non-executable, it may corrupt the ESR_ELx and FAR_ELx registers on the
1036 Only user-space does executable to non-executable permission transition via
1037 mprotect() system call. Workaround the problem by doing a break-before-make
1046 bool "Cortex-A520: 2966298: workaround for speculatively executed unprivileged load"
1050 This option adds the workaround for ARM Cortex-A520 erratum 2966298.
1052 On an affected Cortex-A520 core, a speculatively executed unprivileged
1055 Work around this problem by executing a TLBI before returning to EL0.
1060 bool "Cortex-A510: 3117295: workaround for speculatively executed unprivileged load"
1064 This option adds the workaround for ARM Cortex-A510 erratum 3117295.
1066 On an affected Cortex-A510 core, a speculatively executed unprivileged
1069 Work around this problem by executing a TLBI before returning to EL0.
1077 Enable workaround for errata 22375 and 24313.
1079 This implements two gicv3-its errata workarounds for ThunderX. Both
1085 The fixes are in ITS initialization and basically ignore memory access
1086 type and table size provided by the TYPER and BASER registers.
1095 ITS SYNC command hang for cross node io and collections/cpu mapping.
1100 bool "Cavium errata 23154 and 38545: GICv3 lacks HW synchronisation"
1105 (access to icc_iar1_el1 is not sync'ed before and after).
1108 OcteonTX and OcteonTX2), resulting in deactivated interrupts being
1119 contains data for a non-current ASID. The fix is to
1125 bool "Cavium erratum 30115: Guest may disable interrupts in host"
1129 1.2, and T83 Pass 1.0, KVM guest execution may disable
1130 interrupts in host. Trapping both GICv3 group-0 and group-1
1136 bool "Cavium ThunderX2 erratum 219: PRFM between TTBR change and ISB fails"
1140 TTBR update and the corresponding context synchronizing operation can
1141 cause a spurious Data Abort to be delivered to any hardware thread in
1144 Work around the issue by avoiding the problematic code sequence and
1147 instruction and ensures context synchronization by virtue of the
1153 bool "Fujitsu-A64FX erratum E#010001: Undefined fault may occur wrongly"
1156 This option adds a workaround for Fujitsu-A64FX erratum E#010001.
1157 On some variants of the Fujitsu-A64FX cores ver(1.0, 1.1), memory
1161 case-1 TTBR0_EL1 with TCR_EL1.NFD0 == 1.
1162 case-2 TTBR0_EL2 with TCR_EL2.NFD0 == 1.
1163 case-3 TTBR1_EL1 with TCR_EL1.NFD1 == 1.
1164 case-4 TTBR1_EL2 with TCR_EL2.NFD1 == 1.
1166 The workaround is to ensure these bits are clear in TCR_ELx.
1167 The workaround only affects the Fujitsu-A64FX.
1176 when issued ITS commands such as VMOVP and VMAPP, and requires
1177 a 128kB offset to be applied to the target address in this commands.
1185 On Falkor v1, an incorrect ASID may be cached in the TLB when ASID
1186 and BADDR are changed together in TTBRx_EL1. Since we keep the ASID
1187 in TTBR1_EL1, this situation only occurs in the entry trampoline and
1188 then only for entries in the walk cache, since the leaf translation
1189 is unchanged. Work around the erratum by invalidating the walk cache
1227 If CNP is enabled on Carmel cores, non-sharable TLBIs on a core will not
1237 The Rockchip RK3588 GIC600 SoC integration does not support ACE/ACE-lite.
1244 bool "Socionext Synquacer: Workaround for GICv3 pre-ITS"
1248 MSI doorbell writes with non-zero values for the device ID.
1276 allowing only two levels of page tables and faster TLB
1277 look-up. AArch32 emulation requires applications compiled
1290 a combination of page size and virtual address space size.
1293 bool "36-bit" if EXPERT
1297 bool "39-bit"
1301 bool "42-bit"
1305 bool "47-bit"
1309 bool "48-bit"
1312 bool "52-bit"
1315 Enable 52-bit virtual addressing for userspace when explicitly
1316 requested via a hint to mmap(). The kernel will also use 52-bit
1318 this feature is available, otherwise it reverts to 48-bit).
1320 NOTE: Enabling 52-bit virtual addressing in conjunction with
1321 ARMv8.3 Pointer Authentication will result in the PAC being
1323 impact on its susceptibility to brute-force attacks.
1325 If unsure, select 48-bit virtual addressing instead.
1330 bool "Force 52-bit virtual addresses for userspace"
1333 For systems with 52-bit userspace VAs enabled, the kernel will attempt
1334 to maintain compatibility with older software by providing 48-bit VAs
1337 This configuration option disables the 48-bit compatibility logic, and
1338 forces all userspace addresses to be 52-bit on HW that supports it. One
1359 bool "48-bit"
1362 bool "52-bit (ARMv8.2)"
1366 Enable support for a 52-bit physical address space, introduced as
1367 part of the ARMv8.2-LPA extension.
1370 do not support ARMv8.2-LPA, but with some added memory overhead (and
1385 applications will need to be compiled and linked for the endianness
1389 bool "Build big-endian kernel"
1391 # https://github.com/llvm/llvm-project/commit/1379b150991f70a5782e9a143c2ba5308da1161c
1394 Say Y if you plan on running a kernel with a big-endian userspace.
1397 bool "Build little-endian kernel"
1399 Say Y if you plan on running a kernel with a little-endian userspace.
1405 bool "Multi-core scheduler support"
1407 Multi-core scheduler support improves the CPU scheduler's decision
1408 making when dealing with multi-core CPU chips at a cost of slightly
1409 increased overhead in some places. If unsure say N here.
1417 by sharing mid-level caches, last-level cache tags or internal
1424 MultiThreading at a cost of slightly increased overhead in some
1428 int "Maximum number of CPUs (2-4096)"
1433 bool "Support for hot-pluggable CPUs"
1436 Say Y here to experiment with turning CPUs off and on. CPUs
1441 bool "NUMA Memory Allocation and Scheduler Support"
1450 Enable NUMA (Non-Uniform Memory Access) support.
1453 local memory of the CPU and add some more
1478 def_bool $(cc-option, -fsanitize=shadow-call-stack -ffixed-x18)
1492 accounting. Time spent executing other tasks in parallel with
1496 If in doubt, say N here.
1538 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
1544 # so the maximum value of MAX_PAGE_ORDER is SECTION_SIZE_BITS - PAGE_SHIFT:
1547 # ----+-------------------+--------------+----------------------+-------------------------+
1558 contiguous allocations. The limit is called MAX_PAGE_ORDER and it
1572 bool "Unmap kernel when running in userspace (KPTI)" if EXPERT
1575 Speculation attacks against some high-performance processors can
1576 be used to bypass MMU permission checks and leak kernel data to
1578 when running in userspace, mapping it back in on exception entry
1579 via a trampoline page in the vector table.
1587 Speculation attacks against some high-performance processors can
1589 When taking an exception from user-space, a sequence of branches
1596 Apply read-only attributes of VM areas to the linear alias of
1597 the backing pages as well. This prevents code or read-only data
1600 be turned off at runtime by passing rodata=[off|on] (and turned on
1604 which may adversely affect performance in some cases.
1610 user-space memory directly by pointing TTBR0_EL1 to a reserved
1611 zeroed area and reserved ASID. The user access routines
1618 When this option is enabled, user applications can opt in to a
1621 Documentation/arch/arm64/tagged-address-abi.rst.
1624 bool "Kernel support for 32-bit EL0"
1630 This option enables support for a 32-bit EL0 running under a 64-bit
1631 kernel at EL1. AArch32-specific components such as system calls,
1632 the user helper functions, VFP support and the ptrace interface are
1639 If you want to execute 32-bit userspace applications, say Y.
1644 bool "Enable kuser helpers page for 32-bit applications"
1647 Warning: disabling this option may break 32-bit user programs.
1650 helper code to userspace in read only form at a fixed location
1661 If all of the binaries and libraries which run on your platform
1662 are built specifically for your platform, and make no use of
1664 such exploits. However, in that case, if a binary or library
1671 bool "Enable vDSO for 32-bit applications"
1677 Place in the process address space of 32-bit applications an
1679 and clock_gettime.
1681 You must have a 32-bit build of glibc 2.22 or later for programs
1685 bool "Compile the 32-bit vDSO for Thumb-2 mode" if EXPERT
1689 Compile the compat vDSO with '-mthumb -fomit-frame-pointer' if y,
1690 otherwise with '-marm'.
1693 bool "Fix up misaligned multi-word loads and stores in user space"
1700 that have been deprecated or obsoleted in the architecture.
1718 In some older versions of glibc [<=2.8] SWP is used during futex
1735 The CP15 barrier instructions - CP15ISB, CP15DSB, and
1736 CP15DMB - are deprecated in ARMv8 (and ARMv7). It is
1737 strongly recommended to use the ISB, DSB, and DMB
1751 The SETEND instruction alters the data-endianness of the
1752 AArch32 EL0, and is deprecated in ARMv8.
1759 for this feature to be enabled. If a new CPU - which doesn't support mixed
1760 endian - is hotplugged in after this feature has been enabled, there could
1761 be unexpected results in the applications.
1771 bool "Support for hardware updates of the Access and Dirty page flags"
1775 hardware updates of the access and dirty information in page
1776 table entries. When enabled in TCR_EL1 (HA and HD bits) on
1779 Similarly, writes to read-only pages with the DBM bit set will
1780 clear the read-only bit (AP[2]) instead of raising a
1784 to work on pre-ARMv8.1 hardware and the performance impact is
1792 prevents the kernel or hypervisor from accessing user-space (EL0)
1798 The feature is detected at runtime, and will remain as a 'nop'
1802 def_bool $(as-instr,.arch_extension lse)
1814 atomic instructions that are designed specifically to scale in
1817 Say Y here to make use of these instructions for the in-kernel
1819 not support these instructions and requires the kernel to be
1820 built with binutils >= 2.25 in order for the new instructions
1828 def_bool $(cc-option,-Wa$(comma)-march=armv8.2-a)
1831 def_bool $(as-instr,.arch armv8.2-a+sha3)
1841 The feature is detected at runtime, and the kernel will use DC CVAC
1849 CPUs that support the Reliability, Availability and Serviceability
1850 (RAS) Extensions, part of ARMv8.2 are able to track faults and
1851 errors, classify them and report them to software.
1854 barriers to determine if faults are pending and read the
1858 and access the new registers if the system supports the extension.
1867 be shared between different PEs in the same inner shareable
1869 caching of such entries in the TLB.
1872 at runtime, and does not affect PEs that do not implement
1884 instructions for signing and authenticating pointers against secret
1886 and other attacks.
1891 context-switched along with the process.
1893 The feature is detected at runtime. If the feature is not present in
1899 address auth and the late CPU has then the late CPU will still boot
1914 If the compiler supports the -mbranch-protection or
1915 -msign-return-address flag (e.g. GCC 7 or later), then this option
1917 protection. In this case, and if the target hardware is known to
1926 def_bool $(cc-option,-mbranch-protection=pac-ret+leaf)
1930 def_bool $(cc-option,-msign-return-address=all)
1933 def_bool $(cc-option,-Wa$(comma)-march=armv8.3-a)
1936 def_bool $(as-instr,.cfi_startproc\n.cfi_negate_ra_state\n.cfi_endproc\n)
1939 def_bool $(as-instr,.arch_extension rcpc)
1957 extension. The required support is present in:
1958 * Version 1.5 and later of the ARM Trusted Firmware
1969 def_bool $(cc-option,-Wa$(comma)-march=armv8.4-a)
1976 ARMv8.4-TLBI provides TLBI invalidation instruction that apply to a
1979 The feature introduces new assembly instructions, and they were
1987 def_bool $(cc-option,-Wa$(comma)-march=armv8.5-a)
2021 # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9
2026 and enable enforcement of this for kernel code. When this option
2027 is enabled and the system supports BTI all kernel code including
2032 def_bool $(cc-option,-mbranch-protection=pac-ret+leaf+bti)
2039 that EL0 accesses made via TTBR1 always fault in constant time,
2041 with lower overhead and without disrupting legitimate access to
2047 # Initial support for MTE went in binutils 2.32.0, checked with
2048 # ".arch armv8.5-a+memtag" below. However, this was incomplete
2050 # is only supported in the newer 2.32.x and 2.33 binutils
2052 def_bool $(as-instr,.arch armv8.5-a+memtag\nstgm xzr$(comma)[x0])
2060 # Required for tag checking in the uaccess routines
2067 architectural support for run-time, always-on detection of
2069 to eliminate vulnerabilities arising from memory-unsafe
2077 not be allowed a late bring-up.
2080 explicitly opt in. The mechanism for the userspace is
2081 described in:
2083 Documentation/arch/arm64/memory-tagging-extension.rst.
2095 Access Never to be used with Execute-only mappings.
2097 The feature is detected at runtime, and will remain disabled
2106 execution state which complements and extends the SIMD functionality
2107 of the base architecture to support much larger vectors and to enable
2117 is present in:
2119 * version 1.5 and later of the ARM Trusted Firmware
2121 ("bootwrapper: SVE: Enable SVE for EL2 and below").
2126 If you need the kernel to boot on SVE-capable hardware with broken
2129 booting the kernel. If unsure and you are not observing these
2144 bool "Support for NMI-like interrupts"
2147 Adds support for mimicking Non-Maskable Interrupts through the use of
2190 random u64 value in /chosen/kaslr-seed at kernel entry.
2194 to the kernel proper. In addition, it will randomise the physical
2207 but it does imply that function calls between modules and the core
2208 kernel will need to be resolved via veneers in the module PLT.
2212 core kernel, so branch relocations are almost always in range unless
2213 the region is exhausted. In this particular case of region
2217 …def_bool $(cc-option,-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-pro…
2242 protocol even if the corresponding data is present in the ACPI
2249 Provide a set of default command-line options at build time by
2263 Uses the command-line options passed by the boot loader. If
2265 string provided in CMDLINE will be used.
2273 command-line options your boot loader passes to the kernel.
2295 by UEFI firmware (such as non-volatile variables, realtime
2296 clock, and platform reset). A UEFI stub is also provided to
2309 continue to boot on existing non-UEFI platforms.