/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | arm,gic-v5.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/arm,gic-v5.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Lorenzo Pieralisi <lpieralisi@kernel.org> 11 - Marc Zyngier <maz@kernel.org> 21 - one or more IRS (Interrupt Routing Service) 22 - zero or more ITS (Interrupt Translation Service) 25 - PE-Private Peripheral Interrupts (PPI) 26 - Shared Peripheral Interrupts (SPI) [all …]
|
/linux/Documentation/arch/arm64/ |
H A D | booting.rst | 13 (EL0 - EL3), with EL0, EL1 and EL2 having a secure and a non-secure 14 counterpart. EL2 is the hypervisor level, EL3 is the highest priority 33 --------------------------- 49 ------------------------- 53 The device tree blob (dtb) must be placed on an 8-byte boundary and must 62 ------------------------------ 74 ------------------------ 78 The decompressed kernel image contains a 64-byte header as follows:: 94 - As of v3.17, all fields are little endian unless stated otherwise. 96 - code0/code1 are responsible for branching to stext. [all …]
|
/linux/Documentation/devicetree/bindings/firmware/ |
H A D | intel,stratix10-svc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/firmware/intel,stratix10-svc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Dinh Nguyen <dinguyen@kernel.org> 11 - Mahesh Rao <mahesh.rao@altera.com> 14 Intel Stratix10 SoC is composed of a 64 bit quad-core ARM Cortex A53 hard 21 communication with SDM, only the secure world of software (EL3, Exception 23 exception layers must channel through the EL3 software whenever it needs 30 code running in EL3. [all …]
|
/linux/Documentation/translations/zh_TW/arch/arm64/ |
H A D | booting.txt | 1 SPDX-License-Identifier: GPL-2.0 15 --------------------------------------------------------------------- 30 --------------------------------------------------------------------- 40 AArch64 異常模型由多個異常級(EL0 - EL3)組成,對於 EL0 和 EL1 異常級 42 EL3 是最高特權級,且僅存在於安全模式下。 58 ----------------- 69 --------------- 81 ------------- 91 ------------- 111 - 自 v3.17 起,除非另有說明,所有域都是小端模式。 [all …]
|
/linux/Documentation/translations/zh_CN/arch/arm64/ |
H A D | booting.txt | 12 --------------------------------------------------------------------- 26 --------------------------------------------------------------------- 36 AArch64 异常模型由多个异常级(EL0 - EL3)组成,对于 EL0 和 EL1 异常级 38 EL3 是最高特权级,且仅存在于安全模式下。 54 ----------------- 65 --------------- 77 ------------- 87 ------------- 107 - 自 v3.17 起,除非另有说明,所有域都是小端模式。 109 - code0/code1 负责跳转到 stext. [all …]
|
/linux/include/linux/firmware/intel/ |
H A D | stratix10-smc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (C) 2017-2018, Intel Corporation 9 #include <linux/arm-smccc.h> 15 * monitor software in Secure Monitor Exception Level 3 (EL3). 19 * An ARM SMC instruction takes a function identifier and up to 6 64-bit 20 * register values as arguments, and can return up to 4 64-bit register 24 * EL1 and EL3 communicates pointer as physical address rather than the 31 * STD call starts a operation which can be preempted by a non-secure 81 * Sync call used by service driver at EL1 to request the FPGA in EL3 to 88 * a2-7: not used. [all …]
|
/linux/Documentation/driver-api/firmware/ |
H A D | other_interfaces.rst | 5 -------------- 7 .. kernel-doc:: drivers/firmware/dmi_scan.c 11 -------------- 13 .. kernel-doc:: drivers/firmware/edd.c 17 ------------------------------------- 19 .. kernel-doc:: drivers/firmware/sysfb.c 23 --------------------------------- 28 Exception Level 3 (EL3). 33 of the requests on to a secure monitor (EL3). 35 .. kernel-doc:: include/linux/firmware/intel/stratix10-svc-client.h [all …]
|
/linux/drivers/net/ethernet/3com/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 20 config EL3 config 50 (PC-card) Fast Ethernet card to your computer. 60 (PC-card) Ethernet card to your computer. 93 3C990-TX, 3CR990-TX-95, 3CR990-TX-97, 3CR990-FX-95, 3CR990-FX-97, 94 3CR990SVR, 3CR990SVR95, 3CR990SVR97, 3CR990-FX-95 Server, 95 3CR990-FX-97 Server, 3C990B-TX-M, 3C990BSVR
|
H A D | 3c589_cs.c | 5 * Copyright (C) 1999 David A. Hinds -- dahinds@users.sourceforge.net 124 #define WN0_IRQ 0x08 /* Window 0: Set IRQ line in bits 12-15. */ 200 dev_dbg(&link->dev, "3c589_attach()\n"); in tc589_probe() 205 return -ENOMEM; in tc589_probe() 207 link->priv = dev; in tc589_probe() 208 lp->p_dev = link; in tc589_probe() 210 spin_lock_init(&lp->lock); in tc589_probe() 211 link->resource[0]->end = 16; in tc589_probe() 212 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_16; in tc589_probe() 214 link->config_flags |= CONF_ENABLE_IRQ; in tc589_probe() [all …]
|
H A D | 3c509.c | 3 Written 1993-2000 by Donald Becker. 5 Copyright 1994-2000 by Donald Becker. 20 a priori which of several ISA-mode cards will be detected first. 36 other cleanups. -djb 39 v1.13 9/8/97 Made 'max_interrupt_work' an insmod-settable variable -djb 40 v1.14 10/15/97 Avoided waiting..discard message for fast machines -djb 41 v1.15 1/31/98 Faster recovery for Tx errors. -djb 42 v1.16 2/3/98 Different ID port handling to avoid sound cards. -djb 44 - Avoid bogus detect of 3c590's (Andrzej Krzysztofowicz) 45 - Reviewed against 1.18 from scyld.com [all …]
|
/linux/drivers/soc/samsung/ |
H A D | exynos-pmu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (c) 2011-2014 Samsung Electronics Co., Ltd. 6 // Exynos - CPU PMU(Power Management Unit) support 9 #include <linux/arm-smccc.h> 20 #include <linux/soc/samsung/exynos-regs-pmu.h> 21 #include <linux/soc/samsung/exynos-pmu.h> 23 #include "exynos-pmu.h" 47 * from EL3, but are still read accessible. As Linux needs to write some of 65 /* returns -EINVAL if access isn't allowed or 0 */ in tensor_sec_reg_write() 82 /* returns -EINVAL if access isn't allowed or 0 */ in tensor_sec_reg_rmw() [all …]
|
/linux/tools/perf/arch/arm64/util/ |
H A D | arm64_exception_types.h | 1 // SPDX-License-Identifier: GPL-2.0 13 /* The hyp-stub will return this for any kvm_call_hyp() call */ 34 /* Unallocated EC: 0x0A - 0x0B */ 38 /* Unallocated EC: 0x0F - 0x10 */ 49 /* Unallocated EC: 0x1b - 0x1E */ 50 #define ESR_ELx_EC_IMP_DEF (0x1f) /* EL3 only */ 60 /* Unallocated EC: 0x29 - 0x2B */ 62 /* Unallocated EC: 0x2D - 0x2E */ 70 /* Unallocated EC: 0x36 - 0x37 */ 76 /* Unallocated EC: 0x3D - 0x3F */
|
/linux/arch/arm64/include/asm/ |
H A D | kvm_pkvm.h | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020 - Google LLC 14 /* Maximum number of VMs that can co-exist under pKVM. */ 25 * This functions as an allow-list of protected VM capabilities. 55 unsigned long nr_pages = reg->size >> PAGE_SHIFT; in hyp_vmemmap_memblock_size() 58 start = (reg->base >> PAGE_SHIFT) * vmemmap_entry_size; in hyp_vmemmap_memblock_size() 63 return end - start; in hyp_vmemmap_memblock_size() 101 /* Cover all of memory with page-granularity */ in __hyp_pgtable_total_pages() 104 res += __hyp_pgtable_max_pages(reg->size >> PAGE_SHIFT); in __hyp_pgtable_total_pages() 127 * Include an extra 16 pages to safely upper-bound the worst case of in host_s2_pgtable_pages() [all …]
|
H A D | esr.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2013 - ARM Ltd 28 /* Unallocated EC: 0x0F - 0x10 */ 43 #define ESR_ELx_EC_IMP_DEF UL(0x1f) /* EL3 only */ 53 /* Unallocated EC: 0x29 - 0x2B */ 64 /* Unallocated EC: 0x36 - 0x37 */ 70 /* Unallocated EC: 0x3D - 0x3F */ 133 #define ESR_ELx_FSC_ADDRSZ_nL(n) ((n) == -1 ? 0x25 : 0x2C) 185 #define ESR_ELx_xVC_IMM_MASK ((UL(1) << 16) - 1) 268 * op0 = 3, op1= 0, crn = 0, {crm = 0, 4-7}, READ (L = 1) [all …]
|
/linux/arch/arm64/kvm/hyp/nvhe/ |
H A D | ffa.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * FF-A v1.0 proxy to filter out invalid memory-sharing SMC calls issued by 4 * the host. FF-A is a slightly more palatable abbreviation of "Arm Firmware 5 * Framework for Arm A-profile", which is specified by Arm in document 8 * Copyright (C) 2022 - Google LLC 12 * all calls falling within the FF-A range. Each call is either: 14 * - Forwarded on unmodified to the SPMD at EL3 15 * - Rejected as "unsupported" 16 * - Accompanied by a host stage-2 page-table check/update and reissued 19 * accessible to the secure world using FF-A will be detected either here [all …]
|
H A D | sys_regs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/irqchip/arm-gic-v3.h> 82 * - Needed by common Linux distributions (e.g., floating point) 83 * - Trivial to support, e.g., supporting the feature does not introduce or 85 * - Cannot be trapped or prevent the guest from using anyway 92 MAX_FEAT(ID_AA64PFR0_EL1, EL3, IMP), 171 * However, both have Not-Implemented values that are non-zero. Define them 200 u64 min_signed = (1UL << width) - 1UL; in get_restricted_features() 201 u64 sign_bit = 1UL << (width - 1); in get_restricted_features() 202 u64 mask = GENMASK_ULL(width + shift - 1, shift); in get_restricted_features() [all …]
|
/linux/drivers/firmware/efi/ |
H A D | cper-arm.c | 1 // SPDX-License-Identifier: GPL-2.0 28 "AArch64 EL3 context registers", 245 printk("%sMIDR: 0x%016llx\n", pfx, proc->midr); in cper_print_proc_arm() 247 len = proc->section_length - (sizeof(*proc) + in cper_print_proc_arm() 248 proc->err_info_num * (sizeof(*err_info))); in cper_print_proc_arm() 250 printk("%ssection length: %d\n", pfx, proc->section_length); in cper_print_proc_arm() 252 printk("%sfirmware-generated error record is incorrect\n", pfx); in cper_print_proc_arm() 253 printk("%sERR_INFO_NUM is %d\n", pfx, proc->err_info_num); in cper_print_proc_arm() 257 if (proc->validation_bits & CPER_ARM_VALID_MPIDR) in cper_print_proc_arm() 259 pfx, proc->mpidr); in cper_print_proc_arm() [all …]
|
/linux/arch/arm64/kvm/ |
H A D | pmu-emul.c | 1 // SPDX-License-Identifier: GPL-2.0-only 35 return container_of(pmc, struct kvm_vcpu, arch.pmu.pmc[pmc->idx]); in kvm_pmc_to_vcpu() 40 return &vcpu->arch.pmu.pmc[cnt_idx]; in kvm_vcpu_idx_to_pmc() 75 if (kvm_has_feat(kvm, ID_AA64PFR0_EL1, EL3, IMP)) in kvm_pmu_evtyper_mask() 84 * kvm_pmc_is_64bit - determine if counter is 64bit 91 return (pmc->idx == ARMV8_PMU_CYCLE_IDX || in kvm_pmc_is_64bit() 92 kvm_has_feat(vcpu->kvm, ID_AA64DFR0_EL1, PMUVer, V3P5)); in kvm_pmc_is_64bit() 100 if (kvm_pmu_counter_is_hyp(vcpu, pmc->idx)) in kvm_pmc_has_64bit_overflow() 103 return (pmc->idx < ARMV8_PMU_CYCLE_IDX && (val & ARMV8_PMU_PMCR_LP)) || in kvm_pmc_has_64bit_overflow() 104 (pmc->idx == ARMV8_PMU_CYCLE_IDX && (val & ARMV8_PMU_PMCR_LC)); in kvm_pmc_has_64bit_overflow() [all …]
|
H A D | handle_exit.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2012,2013 - ARM Ltd 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 21 #include <asm/debug-monitors.h> 42 vcpu->stat.hvc_exit_stat++; in handle_hvc() 67 * "If an SMC instruction executed at Non-secure EL1 is in handle_smc() 72 * otherwise return to the same address. Furthermore, pre-incrementing in handle_smc() 90 * Note that on ARMv8.3, even if EL3 is not implemented, SMC executed in handle_smc() 91 * at Non-secure EL1 is trapped to EL2 if HCR_EL2.TSC==1, rather than in handle_smc() 116 * kvm_handle_wfx - handle a wait-for-interrupts or wait-for-event [all …]
|
/linux/drivers/tee/optee/ |
H A D | optee_smc.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2021, Linaro Limited 8 #include <linux/arm-smccc.h> 28 * Normal cached memory (write-back), shareable for SMP systems and not 36 * 32-bit registers. 44 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b. 75 * Used by non-secure world to figure out which Trusted OS is installed. 78 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID 88 * Used by non-secure world to figure out which version of the Trusted OS 92 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION [all …]
|
/linux/drivers/hwtracing/coresight/ |
H A D | coresight-etm4x.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. 13 #include "coresight-priv.h" 17 * 0x000 - 0x2FC: Trace registers 18 * 0x300 - 0x314: Management registers 19 * 0x318 - 0xEFC: Trace registers 21 * 0xFA0 - 0xFA4: Trace registers 22 * 0xFA8 - 0xFFC: Management registers 24 /* Trace registers (0x000-0x2FC) */ 47 #define TRCSEQEVRn(n) (0x100 + (n * 4)) /* n = 0-2 */ [all …]
|
H A D | coresight-cpu-debug.c | 1 // SPDX-License-Identifier: GPL-2.0 29 #include "coresight-priv.h" 69 * 0b0000 - Sample offset applies based on the instruction state, we 71 * 0b0001 - No offset applies. 72 * 0b0010 - No offset applies, but do not use in AArch32 mode 118 writel_relaxed(0x0, drvdata->base + EDOSLAR); in debug_os_unlock() 130 * - CPU power domain is powered off; 131 * - The OS Double Lock is locked; 138 if (!(drvdata->edprsr & EDPRSR_PU)) in debug_access_permitted() 142 if (drvdata->edprsr & EDPRSR_DLK) in debug_access_permitted() [all …]
|
/linux/arch/arm64/tools/ |
H A D | sysreg | 1 # SPDX-License-Identifier: GPL-2.0-only 52 # NI - Not implemented 53 # IMP - Implemented 476 0b0001 EL3 1217 UnsignedEnum 15:12 EL3 1371 0b11 EL3
|
/linux/tools/testing/selftests/kvm/arm64/ |
H A D | set_id_regs.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * set_id_regs - Test for setting ID register from usersapce. 134 REG_FTR_BITS(FTR_LOWER_SAFE, ID_AA64PFR0_EL1, EL3, 1), 259 uint64_t ftr_max = GENMASK_ULL(ARM64_FEATURE_FIELD_BITS - 1, 0); in get_safe_value() 261 if (ftr_bits->sign == FTR_UNSIGNED) { in get_safe_value() 262 switch (ftr_bits->type) { in get_safe_value() 264 ftr = ftr_bits->safe_val; in get_safe_value() 267 if (ftr > ftr_bits->safe_val) in get_safe_value() 268 ftr--; in get_safe_value() 284 switch (ftr_bits->type) { in get_safe_value() [all …]
|
/linux/arch/arm64/kernel/ |
H A D | proton-pack.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * https://developer.arm.com/support/arm-security-updates/speculative-processor-vulnerability 20 #include <linux/arm-smccc.h> 28 #include <asm/debug-monitors.h> 72 * - Mitigated in hardware and advertised by ID_AA64PFR0_EL1.CSV2. 73 * - Mitigated in hardware and listed in our "safe list". 74 * - Mitigated in software by firmware. 75 * - Mitigated in software by a CPU-specific dance in the kernel and a 77 * - Vulnerable. 97 pr_info_once("spectre-v2 mitigation disabled by command line option\n"); in spectre_v2_mitigations_off() [all …]
|