/linux/Documentation/trace/coresight/ |
H A D | coresight-cpu-debug.rst | 9 ------------ 11 Coresight CPU debug module is defined in ARMv8-a architecture reference manual 13 debug module and it is mainly used for two modes: self-hosted debug and 16 explore debugging method which rely on self-hosted debug mode, this document 19 The debug module provides sample-based profiling extension, which can be used 21 every CPU has one dedicated debug module to be connected. Based on self-hosted 29 -------------- 31 - During driver registration, it uses EDDEVID and EDDEVID1 - two device ID 32 registers to decide if sample-based profiling is implemented or not. On some 36 - At the time this documentation was written, the debug driver mainly relies on [all …]
|
/linux/arch/arm/crypto/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 6 tristate "Hash functions: GHASH (PMULL/NEON/ARMv8 Crypto Extensions)" 14 GCM GHASH function (NIST SP800-38D) 17 - PMULL (Polynomial Multiply Long) instructions 18 - NEON (Advanced SIMD) extensions 19 - ARMv8 Crypto Extensions 23 that is part of the ARMv8 Crypto Extensions, or a slower variant that 34 - NEON (Advanced SIMD) extensions 44 - NEON (Advanced SIMD) extensions 47 On ARM processors that have NEON support but not the ARMv8 [all …]
|
H A D | ghash-ce-core.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Accelerated GHASH implementation with NEON/ARMv8 vmull.p8/64 instructions. 5 * Copyright (C) 2015 - 2017 Linaro Ltd. 12 .arch armv8-a 13 .fpu crypto-neon-fp-armv8 101 * This implementation of 64x64 -> 128 bit polynomial multiplication 102 * using vmull.p8 instructions (8x8 -> 16) is taken from the paper 105 * Ricardo Dahab (https://hal.inria.fr/hal-01506572) 107 * It has been slightly tweaked for in-order performance, and to allow 159 // PMULL (64x64->128) based reduction for CPUs that can do [all …]
|
/linux/drivers/perf/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 17 If compiled as a module, it will be called arm-cci. 20 bool "support CCI-400" 25 CCI-400 provides 4 independent event counters counting events related 29 bool "support CCI-500/CCI-550" 33 CCI-500/CCI-550 both provide 8 independent event counters, which can 45 tristate "Arm CMN-600 PMU support" 48 Support for PMU events monitoring on the Arm CMN-600 Coherent Mesh 52 tristate "Arm NI-700 PMU support" 55 Support for PMU events monitoring on the Arm NI-700 Network-on-Chip [all …]
|
H A D | arm_pmuv3.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ARMv8 PMUv3 Performance Events handling code. 8 * This code is based heavily on the ARMv7 perf event code. 30 /* ARMv8 Cortex-A53 specific event types. */ 33 /* ARMv8 Cavium ThunderX specific event types. */ 41 * ARMv8 Architectural defined events, not all of these may 43 * be disabled at run-time based on the PMCEID registers. 166 return sprintf(page, "event=0x%04llx\n", pmu_attr->id); in armv8pmu_events_sysfs_show() 176 * means we don't have a fixed event<->counter relationship regardless. 281 if (pmu_attr->id < ARMV8_PMUV3_MAX_COMMON_EVENTS && in armv8pmu_event_attr_is_visible() [all …]
|
/linux/Documentation/devicetree/bindings/arm/nuvoton/ |
H A D | nuvoton,ma35d1.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Nuvoton MA35 series SoC based platforms 10 - Jacky Huang <ychuang3@nuvoton.com> 13 Boards with an ARMv8 based Nuvoton MA35 series SoC shall have 22 - description: MA35D1 based boards 24 - enum: 25 - nuvoton,ma35d1-iot 26 - nuvoton,ma35d1-som [all …]
|
/linux/arch/arm64/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 287 ARM 64-bit (AArch64) Linux support. 295 # required due to use of the -Zfixed-x18 flag. 298 # -Zsanitizer=shadow-call-stack flag. 308 depends on $(cc-option,-fpatchable-function-entry=2) 334 # VA_BITS - PTDESC_TABLE_SHIFT 412 def_bool !$(as-instr,1:\n.inst 0\n.rept . - 1b\n\nnop\n.endr\n) 417 # https://github.com/llvm/llvm-project/commit/2a96f47c5ffca84cd774ad402cacd137f4bf45e2 467 at stage-2. 492 …bool "Cortex-A53: 826319: System might deadlock if a write cannot complete until read data is acce… [all …]
|
/linux/Documentation/devicetree/bindings/arm/ |
H A D | microchip,sparx5.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lars Povlsen <lars.povlsen@microchip.com> 13 The Microchip Sparx5 SoC is a ARMv8-based used in a family of 14 gigabit TSN-capable gigabit switches. 16 The SparX-5 Ethernet switch family provides a rich set of switching 17 features such as advanced TCAM-based VLAN and QoS processing 19 TCAM-based frame processing using versatile content aware processor 27 - description: The Sparx5 pcb125 board is a modular board, [all …]
|
H A D | arm,morello.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Vincenzo Frascino <vincenzo.frascino@arm.com> 13 The Morello architecture is an experimental extension to Armv8.2-A, 19 capability architectures based on arm. 26 - description: Arm Morello System Platforms 28 - enum: 29 - arm,morello-sdp 30 - arm,morello-fvp [all …]
|
H A D | arm,coresight-cpu-debug.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/arm/arm,coresight-cpu-debug.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mathieu Poirier <mathieu.poirier@linaro.org> 11 - Mike Leach <mike.leach@linaro.org> 12 - Leo Yan <leo.yan@linaro.org> 13 - Suzuki K Poulose <suzuki.poulose@arm.com> 16 CoreSight CPU debug component are compliant with the ARMv8 architecture 18 external debug module is mainly used for two modes: self-hosted debug and [all …]
|
/linux/Documentation/arch/arm64/ |
H A D | memory-tagging-extension.rst | 8 Date: 2020-02-25 16 ARMv8.5 based processors introduce the Memory Tagging Extension (MTE) 17 feature. MTE is built on top of the ARMv8.0 virtual address tagging TBI 18 (Top Byte Ignore) feature and allows software to access a 4-bit 19 allocation tag for each 16-byte granule in the physical address space. 20 Such memory range must be mapped with the Normal-Tagged memory 21 attribute. A logical tag is derived from bits 59-56 of the virtual 34 -------- 40 ``PROT_MTE`` - Pages allow access to the MTE allocation tags. 43 user address space and preserved on copy-on-write. ``MAP_SHARED`` is [all …]
|
H A D | perf.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 :Date: 2019-03-06 16 ------------ 24 -------------- 39 ---------- 46 For a non-VHE host this attribute will exclude EL2 as we consider the 55 ---------------------------- 59 The KVM host may run at EL0 (userspace), EL1 (non-VHE kernel) and EL2 (VHE 60 kernel or non-VHE hypervisor). 65 exclusively rely on the PMU's hardware exception filtering - therefore we [all …]
|
H A D | tagged-pointers.rst | 20 -------------------------------------- 25 (Documentation/arch/arm64/tagged-address-abi.rst). 29 - pointer arguments to system calls, including pointers in structures 32 - the stack pointer (sp), e.g. when interpreting it to deliver a 35 - the frame pointer (x29) and frame records, e.g. when interpreting 38 Using non-zero address tags in any of these locations when the 44 passing non-zero address tags to the kernel via system calls is 45 forbidden, and using a non-zero address tag for sp is strongly 48 Programs maintaining a frame pointer and frame records that use non-zero 54 --------------- [all …]
|
H A D | acpi_object_usage.rst | 16 - Required: DSDT, FADT, GTDT, MADT, MCFG, RSDP, SPCR, XSDT 18 - Recommended: BERT, EINJ, ERST, HEST, PCCT, SSDT 20 - Optional: AGDI, BGRT, CEDT, CPEP, CSRT, DBG2, DRTM, ECDT, FACS, FPDT, 24 - Not supported: AEST, APMT, BOOT, DBGP, DMAR, ETDT, HPET, IVRS, LPIT, 28 Table Usage for ARMv8 Linux 41 This table describes a non-maskable event, that is used by the platform 68 Optional, not currently supported, with no real use-case for an 83 time as ARM-compatible hardware is available, and the specification 151 UEFI-based; if it is UEFI-based, this table may be supplied. When this 167 the hardware reduced profile, and only 64-bit address fields will [all …]
|
/linux/lib/ |
H A D | Kconfig.kasan | 1 # SPDX-License-Identifier: GPL-2.0-only 32 compile-time constants for better performance. 35 def_bool $(cc-option, -fsanitize=kernel-address) 38 def_bool $(cc-option, -fsanitize=kernel-hwaddress) 55 Enables KASAN (Kernel Address Sanitizer) - a dynamic memory safety 56 error detector designed to find out-of-bounds and use-after-free bugs. 58 See Documentation/dev-tools/kasan.rst for details. 65 …def_bool (CC_IS_CLANG && $(cc-option,-fsanitize=kernel-address -mllvm -asan-kernel-mem-intrinsic-p… 66 (CC_IS_GCC && $(cc-option,-fsanitize=kernel-address --param asan-kernel-mem-intrinsic-prefix=1)) 81 2. Software Tag-Based KASAN (arm64 only, based on software memory [all …]
|
/linux/arch/arm64/kvm/hyp/ |
H A D | exception.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2012,2013 - ARM Ltd 8 * Based on arch/arm/kvm/emulate.c 9 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 57 vcpu->arch.ctxt.spsr_abt = val; in __vcpu_write_spsr_abt() 65 vcpu->arch.ctxt.spsr_und = val; in __vcpu_write_spsr_und() 71 * The EL passed to this function *must* be a non-secure, privileged mode with 79 * For the SPSR_ELx layout for AArch64, see ARM DDI 0487E.a page C5-429. 80 * For the SPSR_ELx layout for AArch32, see ARM DDI 0487E.a page C5-426. 128 if (kvm_has_mte(kern_hyp_va(vcpu->kvm))) in enter_exception64() [all …]
|
/linux/Documentation/dev-tools/ |
H A D | kasan.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 -------- 11 designed to find out-of-bounds and use-after-free bugs. 16 2. Software Tag-Based KASAN 17 3. Hardware Tag-Based KASAN 23 Software Tag-Based KASAN or SW_TAGS KASAN, enabled with CONFIG_KASAN_SW_TAGS, 26 using it for testing on memory-restricted devices with real workloads. 28 Hardware Tag-Based KASAN or HW_TAGS KASAN, enabled with CONFIG_KASAN_HW_TAGS, 29 is the mode intended to be used as an in-field memory bug detector or as a 37 The Generic and the Software Tag-Based modes are commonly referred to as the [all …]
|
/linux/Documentation/arch/arm/samsung/ |
H A D | bootloader-interface.rst | 10 and boot loaders on Samsung Exynos based boards. This is not a definition 14 In the document "boot loader" means any of following: U-boot, proprietary 15 SBOOT or any other firmware for ARMv7 and ARMv8 initializing the board before 19 1. Non-Secure mode 65 3. Other (regardless of secure/non-secure mode) 72 0x0908 Non-zero Secondary CPU boot up indicator 79 AFTR - ARM Off Top Running, a low power mode, Cortex cores and many other 81 MCPM - Multi-Cluster Power Management
|
/linux/tools/perf/Documentation/ |
H A D | perf-arm-spe.txt | 1 perf-arm-spe(1) 5 ---- 6 perf-arm-spe - Support for Arm Statistical Profiling Extension within Perf tools 9 -------- 11 'perf record' -e arm_spe// 14 ----------- 17 events down to individual instructions. Rather than being interrupt-driven, it picks an 25 3. Optionally discard the record based on a filter 33 architectural instructions or all micro-ops. Sampling happens at a programmable interval. The 35 sample. This minimum interval is used by the driver if no interval is specified. A pseudo-random [all …]
|
/linux/Documentation/admin-guide/kdump/ |
H A D | vmcoreinfo.rst | 11 section and used by user-space tools like crash and makedumpfile to 18 ------------------------ 25 --------- 32 ----------- 39 User-space tools can get the kernel name, host name, kernel release 43 --------------------- 49 --------------- 56 -------------- 62 ------ 69 ------------- [all …]
|
/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | arm,gic-v3.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/arm,gic-v3.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Marc Zyngier <maz@kernel.org> 15 Software Generated Interrupts (SGI), and Locality-specific Peripheral 19 - $ref: /schemas/interrupt-controller.yaml# 24 - items: 25 - enum: 26 - qcom,msm8996-gic-v3 [all …]
|
/linux/Documentation/arch/arm/ |
H A D | marvell.rst | 13 ------------ 16 - 88F5082 17 - 88F5181 a.k.a Orion-1 18 - 88F5181L a.k.a Orion-VoIP 19 - 88F5182 a.k.a Orion-NAS 21 …- Datasheet: https://web.archive.org/web/20210124231420/http://csclub.uwaterloo.ca/~board/ts7800/M… 22 …- Programmer's User Guide: https://web.archive.org/web/20210124231536/http://csclub.uwaterloo.ca/~… 23 …- User Manual: https://web.archive.org/web/20210124231631/http://csclub.uwaterloo.ca/~board/ts7800… 24 …- Functional Errata: https://web.archive.org/web/20210704165540/https://www.digriz.org.uk/ts78xx/8… 25 - 88F5281 a.k.a Orion-2 [all …]
|
/linux/arch/arm64/kvm/hyp/nvhe/ |
H A D | switch.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2015 - ARM Ltd 8 #include <hyp/sysreg-sr.h> 10 #include <linux/arm-smccc.h> 26 #include <asm/debug-monitors.h> 31 /* Non-VHE specific context */ 52 ___activate_traps(vcpu, vcpu->arch.hcr_el2); in __activate_traps() 55 write_sysreg(vcpu->arch.mdcr_el2, mdcr_el2); in __activate_traps() 63 struct kvm_cpu_context *ctxt = &vcpu->arch.ctxt; in __activate_traps() 104 write_sysreg_hcr(this_cpu_ptr(&kvm_init_params)->hcr_el2); in __deactivate_traps() [all …]
|
/linux/arch/arm64/include/asm/ |
H A D | tlbflush.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Based on arch/arm/include/asm/tlbflush.h 5 * Copyright (C) 1999-2003 Russell King 69 * - 4KB : 1 70 * - 16KB : 2 71 * - 64KB : 3 92 * Level-based TLBI operations. 94 * When ARMv8.4-TTL exists, TLBI operations take an additional hint for 98 * a non-hinted invalidation. Any provided level outside the hint range 99 * will also cause fall-back to non-hinted invalidation. [all …]
|
/linux/drivers/clocksource/ |
H A D | arm_arch_timer.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 #include <linux/arm-smccc.h> 47 [ARCH_TIMER_PHYS_SECURE_PPI] = "sec-phys", 50 [ARCH_TIMER_HYP_PPI] = "hyp-phys", 51 [ARCH_TIMER_HYP_VIRT_PPI] = "hyp-virt", 75 * Makes an educated guess at a valid counter width based on the Generic Timer 78 * 2) a roll-over time of not less than 40 years 87 return clamp_val(ilog2(min_cycles - 1) + 1, 56, 64); in arch_counter_get_width() 132 * Default to cp15 based access because arm64 uses this function for 180 _retries--; \ [all …]
|