Lines Matching +full:cortex +full:- +full:a
1 # SPDX-License-Identifier: GPL-2.0
162 The ARM series is a line of low-power-consumption RISC chip designs
164 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
165 manufactured, but legacy ARM-based PC hardware remains popular in
166 Europe. There is an ARM Linux project with a web page at
175 relocations, which have been around for a long time, but were not
176 supported in LLD until version 14. The combined range is -/+ 256 MiB,
193 size. This works well for buffers up to a few hundreds kilobytes, but
194 for larger buffers it just a waste of address space. Drivers which has
196 virtual space with just a few allocations.
200 specified order. The order is expressed as a power of two multiplied
269 Patch phys-to-virt and virt-to-phys translation functions at
273 This can only be used with non-XIP MMU kernels where the base
274 of physical memory is at a 2 MiB boundary.
277 this feature (eg, building a kernel for a single machine) and
319 bool "MMU-based Paged Memory Management Support"
322 Select if you want MMU-based virtualised addressing space
344 In general, all Arm machines can be supported in a single
357 # This is sorted alphabetically by mach-* pathname. However, plat-*
359 # plat- suffix) or along side the corresponding mach-* source.
361 source "arch/arm/mach-actions/Kconfig"
363 source "arch/arm/mach-alpine/Kconfig"
365 source "arch/arm/mach-artpec/Kconfig"
367 source "arch/arm/mach-aspeed/Kconfig"
369 source "arch/arm/mach-at91/Kconfig"
371 source "arch/arm/mach-axxia/Kconfig"
373 source "arch/arm/mach-bcm/Kconfig"
375 source "arch/arm/mach-berlin/Kconfig"
377 source "arch/arm/mach-clps711x/Kconfig"
379 source "arch/arm/mach-davinci/Kconfig"
381 source "arch/arm/mach-digicolor/Kconfig"
383 source "arch/arm/mach-dove/Kconfig"
385 source "arch/arm/mach-ep93xx/Kconfig"
387 source "arch/arm/mach-exynos/Kconfig"
389 source "arch/arm/mach-footbridge/Kconfig"
391 source "arch/arm/mach-gemini/Kconfig"
393 source "arch/arm/mach-highbank/Kconfig"
395 source "arch/arm/mach-hisi/Kconfig"
397 source "arch/arm/mach-hpe/Kconfig"
399 source "arch/arm/mach-imx/Kconfig"
401 source "arch/arm/mach-ixp4xx/Kconfig"
403 source "arch/arm/mach-keystone/Kconfig"
405 source "arch/arm/mach-lpc32xx/Kconfig"
407 source "arch/arm/mach-mediatek/Kconfig"
409 source "arch/arm/mach-meson/Kconfig"
411 source "arch/arm/mach-milbeaut/Kconfig"
413 source "arch/arm/mach-mmp/Kconfig"
415 source "arch/arm/mach-mstar/Kconfig"
417 source "arch/arm/mach-mv78xx0/Kconfig"
419 source "arch/arm/mach-mvebu/Kconfig"
421 source "arch/arm/mach-mxs/Kconfig"
423 source "arch/arm/mach-nomadik/Kconfig"
425 source "arch/arm/mach-npcm/Kconfig"
427 source "arch/arm/mach-omap1/Kconfig"
429 source "arch/arm/mach-omap2/Kconfig"
431 source "arch/arm/mach-orion5x/Kconfig"
433 source "arch/arm/mach-pxa/Kconfig"
435 source "arch/arm/mach-qcom/Kconfig"
437 source "arch/arm/mach-realtek/Kconfig"
439 source "arch/arm/mach-rpc/Kconfig"
441 source "arch/arm/mach-rockchip/Kconfig"
443 source "arch/arm/mach-s3c/Kconfig"
445 source "arch/arm/mach-s5pv210/Kconfig"
447 source "arch/arm/mach-sa1100/Kconfig"
449 source "arch/arm/mach-shmobile/Kconfig"
451 source "arch/arm/mach-socfpga/Kconfig"
453 source "arch/arm/mach-spear/Kconfig"
455 source "arch/arm/mach-sti/Kconfig"
457 source "arch/arm/mach-stm32/Kconfig"
459 source "arch/arm/mach-sunxi/Kconfig"
461 source "arch/arm/mach-tegra/Kconfig"
463 source "arch/arm/mach-ux500/Kconfig"
465 source "arch/arm/mach-versatile/Kconfig"
467 source "arch/arm/mach-vt8500/Kconfig"
469 source "arch/arm/mach-zynq/Kconfig"
471 # ARMv7-M architecture
480 Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4
489 Support for Cortex-M Prototyping System (or V2M-MPS2) which comes
490 with a range of available cores like Cortex-M3/M4/M7.
520 running on a CPU that supports it.
523 source "arch/arm/Kconfig-nommu"
531 When coming out of either a Wait for Interrupt (WFI) or a Wait for
532 Event (WFE) IDLE states, a specific timing sensitivity exists between
534 instructions. This sensitivity can result in a CPU hang scenario.
536 The software must insert either a Data Synchronization Barrier (DSB)
541 bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory"
544 Executing a SWP instruction to read-only memory does not set bit 11
546 treat the access as a read, preventing a COW from occurring and
562 This option enables the workaround for the 430973 Cortex-A8
563 r1p* erratum. If a code sequence containing an ARM/Thumb
565 same virtual address, whether due to self-modifying code or virtual
566 to physical address re-mapping, Cortex-A8 does not recover from the
567 stale interworking branch prediction. This results in Cortex-A8
572 available in non-secure mode.
575 bool "ARM errata: Processor deadlock when a false hazard is created"
579 This option enables the workaround for the 458693 Cortex-A8 (r2p0)
581 possible for a hazard condition intended for a cache line to instead
582 be incorrectly associated with a different cache line. This false
583 hazard might then cause a processor deadlock. The workaround enables
586 register may not be available in non-secure mode and thus is not
587 available on a multiplatform kernel. This should be applied by the
595 This option enables the workaround for the 460075 Cortex-A8 (r2p0)
596 erratum. Any asynchronous access to the L2 cache may encounter a
599 workaround disables the write-allocate mode for the L2 cache via the
601 may not be available in non-secure mode and thus is not available on
602 a multiplatform kernel. This should be applied by the bootloader
610 This option enables the workaround for the 742230 Cortex-A9
611 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
613 ordering of the two writes. This workaround sets a specific bit in
614 the diagnostic register of the Cortex-A9 which causes the DMB
615 instruction to behave as a DSB, ensuring the correct behaviour of
617 register may not be available in non-secure mode and thus is not
618 available on a multiplatform kernel. This should be applied by the
626 This option enables the workaround for the 742231 Cortex-A9
628 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
633 register of the Cortex-A9 which reduces the linefill issuing
635 diagnostics register may not be available in non-secure mode and thus
636 is not available on a multiplatform kernel. This should be applied by
644 This option enables the workaround for the 643719 Cortex-A9 (prior to
651 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
654 This option enables the workaround for the 720789 Cortex-A9 (prior to
655 r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
657 As a consequence of this erratum, some TLB entries which should be
667 This option enables the workaround for the 743622 Cortex-A9
668 (r2p*) erratum. Under very rare conditions, a faulty
669 optimisation in the Cortex-A9 Store Buffer may lead to data
670 corruption. This workaround sets a specific bit in the diagnostic
671 register of the Cortex-A9 which disables the Store Buffer
675 may not be available in non-secure mode and thus is not available on a
683 This option enables the workaround for the 751472 Cortex-A9 (prior
685 completion of a following broadcasted operation if the second
686 operation is received by a CPU before the ICIALLUIS has completed,
689 not be available in non-secure mode and thus is not available on
690 a multiplatform kernel. This should be applied by the bootloader
697 This option enables the workaround for the 754322 Cortex-A9 (r2p*,
698 r3p*) erratum. A speculative memory access may cause a page table walk
700 can populate the micro-TLB with a stale entry which may be hit with
708 This option enables the workaround for the 754327 Cortex-A9 (prior to
710 mechanism and therefore a livelock may occur if an external agent
711 continuously polls a memory location waiting to observe an update.
716 bool "ARM errata: Possible cache data corruption with hit-under-miss enabled"
721 hit-under-miss enabled). It sets the undocumented bit 31 in
723 register, thus disabling hit-under-miss without putting the
732 affecting Cortex-A9 MPCore with two or more processors (all
733 current revisions). Under certain timing circumstances, a data
737 system. This workaround adds a DSB instruction before the
738 relevant cache maintenance functions and sets a specific bit
745 This option enables the workaround for the 764319 Cortex-A9 erratum.
749 from a privileged mode. This work around catches the exception in a
753 bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
756 This option enables the workaround for the 775420 Cortex-A9 (r2p2,
757 r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
763 bool "ARM errata: TLBI/DSB failure on Cortex-A15"
766 On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
776 This option enables the workaround for the 773022 Cortex-A15
786 - Cortex-A12 818325: Execution of an UNPREDICTABLE STR or STM
788 - Cortex-A12 852422: Execution of a sequence of instructions might
789 lead to either a data corruption or a CPU deadlock. Not fixed in
790 any Cortex-A12 cores yet.
792 Feature Register. This bit disables an optimisation applied to a
796 bool "ARM errata: A12: sequence of VMOV to core registers might lead to a dead lock"
799 This option enables the workaround for the 821420 Cortex-A12
800 (all revs) erratum. In very rare timing conditions, a sequence
802 one is in the shadow of a branch or abort, can lead to a
803 deadlock when the VMOV instructions are issued out-of-order.
809 This option enables the workaround for the 825619 Cortex-A12
810 (all revs) erratum. Within rare timing constraints, executing a
811 DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
812 and Device/Strongly-Ordered loads and stores might cause deadlock
818 This option enables the workaround for the 857271 Cortex-A12
820 hang. The workaround is expected to have a < 1% performance impact.
826 This option enables the workaround for the 852421 Cortex-A17
828 execution of a DMB ST instruction might fail to properly order
836 - Cortex-A17 852423: Execution of a sequence of instructions might
837 lead to either a data corruption or a CPU deadlock. Not fixed in
838 any Cortex-A17 cores yet.
839 This is identical to Cortex-A12 erratum 852422. It is a separate
847 This option enables the workaround for the 857272 Cortex-A17 erratum.
849 This is identical to Cortex-A12 erratum 857271. It is a separate
863 name of a bus system, i.e. the way the CPU talks to the other stuff
881 This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
891 This option should be selected by machines which have an SMP-
894 The only effect of this option is to make the SMP-related
898 bool "Symmetric Multi-Processing"
905 a system with only one CPU, say N. If you have a system with more
908 If you say N here, the kernel will run on uni- and multiprocessor
909 machines, but will use only one CPU of a multiprocessor machine. If
911 uniprocessor machines. On a uniprocessor machine, the kernel
914 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
915 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
916 <http://tldp.org/HOWTO/SMP-HOWTO.html>.
925 SMP kernels contain instructions which fail on non-SMP processors.
952 bool "Multi-core scheduler support"
955 Multi-core scheduler support improves the CPU scheduler's decision
956 making when dealing with multi-core CPU chips at a cost of slightly
964 MultiThreading at a cost of slightly increased overhead in some
985 bool "Multi-Cluster Power Management"
989 for (multi-)cluster based systems, such as big.LITTLE based
1015 transparently handle transition between a cluster of A15's
1016 and a cluster of A7's in a big.LITTLE system.
1022 This is a simple and dummy char dev interface to control
1065 int "Maximum number of CPUs (2-32)"
1073 debugging is enabled, which uses half of the per-CPU fixmap
1077 bool "Support for hot-pluggable CPUs"
1090 implementing the PSCI specification for CPU-centric power
1092 0022A ("Power State Coordination Interface System Software on
1138 bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
1144 Thumb-2 mode.
1172 ARM ABI (aka EABI). This is only useful if you are using a user
1188 new (ARM EABI) one. It also provides a compatibility layer to
1191 (only for non "thumb" binaries). This option adds a tiny
1192 overhead to all syscalls and produces a slightly larger kernel.
1200 to execute a legacy ABI binary then the result will be
1223 have a large amount of physical memory and/or IO, not all of the
1229 option which should result in a slightly faster kernel.
1234 bool "Allocate 2nd-level pagetables from highmem" if EXPERT
1239 For systems with a lot of processes, this can use a lot of
1242 user-space 2nd level page tables to reside in high memory.
1245 bool "Enable privileged no-access"
1251 use-after-free bugs becoming an exploitable privilege escalation
1262 Enable use of CPU domains to implement privileged no-access.
1264 CPUs with low-vector mappings use a best-efforts implementation.
1272 Enable privileged no-access by disabling TTBR0 page table walks when
1294 Disabling this is usually safe for small single-platform
1306 allocated as a single contiguous block. This option allows
1317 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
1318 address divisible by 4. On 32-bit ARM processors, these non-aligned
1320 here, which has a severe performance impact. This is necessary for
1321 correct operation of some network protocols. With an IP-only
1330 cores where a 8-word STM instruction give significantly higher
1331 memory write throughput than a sequence of individual 32bit stores.
1333 A possible side effect is a slight increase in scheduling latency
1337 However, if the CPU data cache is using a write-allocate mode,
1344 under a hypervisor, potentially improving performance significantly
1354 that, there can be a small performance impact.
1374 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1377 def_bool $(cc-option,-mtp=cp15 -mstack-protector-guard=tls -mstack-protector-guard-offset=0)
1380 bool "Use a unique stack canary value for each task"
1392 Enable this option to switch to a different method that uses a
1431 The physical address at which the ROM-able zImage is to be
1433 ROM-able zImage formats normally set this to a suitable
1443 for the ROM-able zImage which must be available while the
1446 Platforms which normally make use of ROM-able zImage formats
1447 normally set this to a suitable value in their defconfig file.
1463 With this option, the boot code will look for a device tree binary
1467 This is meant as a backward compatibility convenience for those
1468 systems with a bootloader that can't be upgraded to accommodate
1469 the documented boot protocol using a device tree.
1473 look like a DTB header after a reboot if no actual DTB is appended
1474 to zImage. Do not leave this option active in a production kernel
1475 if you don't intend to always append a DTB. Proper passing of the
1476 location into r2 of a bootloader provided DTB is always preferable
1483 Some old bootloaders can't be updated to a DTB capable one, yet
1486 provided by the bootloader and can't always be stored in a static
1487 DTB. To allow a device tree enabled kernel to be used with such
1499 Uses the command-line options passed by the boot loader instead of
1506 The command-line arguments provided by the boot loader will be
1517 architectures, you should supply some command-line options at build
1518 time by entering them here. As a minimum, you should specify the
1529 Uses the command-line options passed by the boot loader. If
1536 The command-line arguments provided by the boot loader will be
1545 command-line options your boot loader passes to the kernel.
1549 bool "Kernel Execute-In-Place from ROM"
1553 Execute-In-Place allows the kernel to run from non-volatile storage
1556 to RAM. Read-write sections, such as the data section and stack,
1587 copied, saving some precious ROM space. A possible drawback is a
1613 will be determined at run-time, either by masking the current IP
1631 by UEFI firmware (such as non-volatile variables, realtime
1632 clock, and platform reset). A UEFI stub is also provided to
1646 continue to boot on existing non-UEFI platforms.
1652 to be enabled much earlier than we do on ARM, which is non-trivial.
1675 your machine has an FPA or floating point co-processor podule.
1684 Say Y to include 80-bit support in the kernel floating-point
1685 emulator. Otherwise, only 32 and 64-bit support is compiled in.
1686 Note that gcc does not generate 80-bit operations by default,
1699 It is very simple, and approximately 3-6 times faster than NWFPE.
1703 If you do not feel you need a faster FP emulation you should better
1707 bool "VFP-format floating point maths"
1711 if your hardware includes a VFP unit.
1713 Please see <file:Documentation/arch/arm/vfp/release-notes.rst> for