/linux/arch/arm64/kvm/hyp/ |
H A D | exception.c | 69 * This performs the exception entry at a given EL (@target_mode), stashing PC 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. 134 // See ARM DDI 0487E.a, page D5-2579. in enter_exception64() 138 // See ARM DDI 0487E.a, page D5-2578. in enter_exception64() 144 // See ARM DDI 0487E.a, page D2-2452. in enter_exception64() 147 // See ARM DDI 0487E.a, page D1-2306. in enter_exception64() 150 // See ARM DDI 0487E.a, page D13-3258 in enter_exception64() 155 // See ARM DDI 0487E.a, pages D1-2293 to D1-2294. in enter_exception64() [all …]
|
/linux/Documentation/trace/coresight/ |
H A D | coresight-cpu-debug.rst | 11 Coresight CPU debug module is defined in ARMv8-a architecture reference manual 12 (ARM DDI 0487A.k) Chapter 'Part H: External debug', the CPU can integrate 43 - The driver supports a CPU running in either AArch64 or AArch32 mode. The 44 registers naming convention is a bit different between them, AArch64 uses 45 'ED' for register prefix (ARM DDI 0487A.k, chapter H9.1) and AArch32 uses 46 'DBG' as prefix (ARM DDI 0487A.k, chapter G5.1). The driver is unified to 49 - ARMv8-a (ARM DDI 0487A.k) and ARMv7-a (ARM DDI 0406C.b) have different 52 If PCSROffset=0b0000, on ARMv8-a the feature of EDPCSR is not implemented; 53 but ARMv7-a defines "PCSR samples are offset by a value that depends on the 54 instruction set state". For ARMv7-a, the driver checks furthermore if CPU [all …]
|
/linux/tools/testing/selftests/arm64/signal/ |
H A D | sve_helpers.c | 37 * terminating, bail out here when we find a higher VL than in sve_fill_vls() 39 * See the ARM ARM, DDI 0487K.a, B1.4.2: I_QQRNR and I_NWYBP. in sve_fill_vls()
|
/linux/Documentation/arch/arm64/ |
H A D | hugetlbpage.rst | 18 These are regular hugepages where a pmd or a pud page table entry points to a 26 The architecture provides a contiguous bit in the translation table entries 27 (D4.5.3, ARM DDI 0487C.a) that hints to the MMU to indicate that it is one of a 28 contiguous set of entries that can be cached in a single TLB entry.
|
/linux/Documentation/translations/zh_CN/arch/arm64/ |
H A D | hugetlbpage.rst | 29 架构中转换页表条目(D4.5.3, ARM DDI 0487C.a)中提供一个连续
|
H A D | booting.txt | 4 original document maintainer directly. However, if you have a problem 7 or if there is a problem with the translation. 175 ARM DDI 0487A 233 ARM DEN 0022A:用于 ARM 上的电源状态协调接口系统软件)中描述的 236 *译者注: ARM DEN 0022A 已更新到 ARM DEN 0022C。
|
/linux/Documentation/translations/zh_TW/arch/arm64/ |
H A D | hugetlbpage.rst | 32 架構中轉換頁表條目(D4.5.3, ARM DDI 0487C.a)中提供一個連續
|
H A D | booting.txt | 6 original document maintainer directly. However, if you have a problem 9 or if there is a problem with the translation. 179 ARM DDI 0487A 237 ARM DEN 0022A:用於 ARM 上的電源狀態協調接口系統軟件)中描述的 240 *譯者注: ARM DEN 0022A 已更新到 ARM DEN 0022C。
|
/linux/Documentation/devicetree/bindings/arm/ |
H A D | arm,coresight-cpu-debug.yaml | 17 reference manual (ARM DDI 0487A.k) Chapter 'Part H: External debug'. The 53 A phandle to the cpu this debug component is bound to. 59 A phandle to the debug power domain if the debug logic has its own
|
/linux/arch/arm64/kernel/ |
H A D | cpuinfo.c | 236 * Dump out the common processor features in a single line. in c_show() 238 * rather than attempting to parse this, but there's a body of in c_show() 307 * The ARM ARM uses the phrase "32-bit register" to describe a register 308 * whose upper 32 bits are RES0 (per C5.1.1, ARM DDI 0487A.i), however 310 * be made use of in future, and between ARM DDI 0487A.c and ARM DDI 311 * 0487A.d CLIDR_EL1 was expanded from 32-bit to 64-bit. 468 * when there is a mismatch across the CPUs. Keep track of the in __cpuinfo_store_cpu() 504 * don't want to read it (and trigger a trap on buggy firmware) if in __cpuinfo_store_cpu()
|
H A D | mte.c | 127 * Note: If in future KASAN acquires a runtime switching in mte_enable_kernel_async() 145 * Note: If in future KASAN acquires a runtime switching in mte_enable_kernel_asymm() 189 * (per ARM DDI 0487F.c table D13-1). in mte_check_tfsr_el1() 312 * lead to the wrong memory type being used for a brief window during in mte_cpu_setup() 315 * CnP is not a boot feature so MTE gets enabled before CnP, but let's in mte_cpu_setup() 388 * Userspace could see a mix of both sync and async anyway due in set_mte_ctrl() 642 * A read is sufficient for mte, the caller should have probed in mte_probe_user_range()
|
/linux/arch/arm64/include/asm/ |
H A D | kgdb.h | 55 * To expand a little on the "most versions of it"... when the gdb remote 56 * protocol for AArch64 was developed it depended on a statement in the 57 * Architecture Reference Manual that claimed "SPSR_ELx is a 32-bit register". 58 * and, as a result, allocated only 32-bits for the PSTATE in the remote 59 * protocol. In fact this statement is still present in ARM DDI 0487A.i. 61 * Unfortunately "is a 32-bit register" has a very special meaning for 63 * RES0.". RES0 is heavily used in the ARM architecture documents as a 64 * way to leave space for future architecture changes. So to translate a 66 * manuals, what "is a 32-bit register" actually means in this context is 67 * "is a 64-bit register but one with no meaning allocated to any of the [all …]
|
H A D | daifflags.h | 34 /* Don't really care for a dsb here, we don't intend to enable IRQs */ in local_daif_mask() 98 * From the ARM ARM DDI 0487D.a, section D1.7.1 in local_daif_restore() 109 * interrupts with a lower priority than PMR is signaled in local_daif_restore()
|
H A D | cache.h | 90 /* Compress a u64 MPIDR value into 32 bits. */ 96 * These bits are expected to be RES0. If not, return a value with in arch_compact_of_hwid() 110 * According to ARM ARM for ARMv8-A (ARM DDI 0487C.a),
|
H A D | kvm_arm.h | 17 * code with the proper names is a pain, use a helper to map the names 92 * AMO: Override CPSR.A and enable signaling with VA 96 * PTW: Take a stage2 fault if a stage1 walk steps in device memory 154 * 40 bits wide (T0SZ = 24). Systems with a PARange smaller than 40 bits are 170 * See D.10.2.121, VTCR_EL2, in ARM DDI 0487C.a 188 * Where TGRAN_SL0_BASE is a magic number depending on the page size: 225 * descriptors in section D4.2.8 in ARM DDI 0487C.a. 230 * algorithm determines the alignment of a table base address at a given 234 * depending on the T0SZ, the value of "x" is defined based on a 235 * Magic constant for a given PAGE_SIZE and Entry Level. The [all …]
|
H A D | tlbflush.h | 28 * on whether a particular TLBI operation takes an argument or 57 /* This macro creates a properly formatted VA operand for the TLBI */ 98 * a non-hinted invalidation. Any provided level outside the hint range 128 * This macro creates a properly formatted VA operand for the TLB RANGE. The 141 * 0487J.a section C5.5.60 "TLBI VAE1IS, TLBI VAE1ISNXS, TLB Invalidate by VA, 173 * significant for a maximum of MAX_TLBI_RANGE_PAGES pages. If 219 * kernel mappings rather than a particular user address space. 224 * Invalidate a single user mapping for address 'addr' in the 226 * operation only invalidates a single, last-level page-table 237 * Invalidate a single kernel mapping for address 'addr' on all [all …]
|
H A D | assembler.h | 30 * Provide a wxN alias for each wN register so what we can paste a xN 31 * reference after a 'w' to obtain the 32-bit version. 63 isb // Take effect before a subsequent clear of DAIF.D 155 * Define a macro that constructs a 64-bit value by concatenating two 183 * @tmp: optional 64-bit scratch register to be used if <dst> is a 370 * Macro to perform a data cache maintenance for the interval 411 * Macro to perform a data cache maintenance for the interval 450 * load_ttbr1 - install @pgtbl as a TTBR1 page table 463 * in the tlb, switch the ttbr to a zero page when we invalidate the old 464 * records. D4.7.1 'General TLB maintenance requirements' in ARM DDI 0487A.i [all …]
|
H A D | cpufeature.h | 32 * The safe value of a CPUID feature field is dependent on the implications 39 * a field when EXACT is specified, failing which, the safe value specified 44 FTR_EXACT, /* Use a predefined safe value */ 80 * A @mask field set to full-1 indicates that the corresponding field 81 * in @val is a valid override. 83 * A @mask field set to full-0 with the corresponding @val field set 86 * A @mask field set to full-0 with the corresponding @val field set 125 * 1) Scope of Detection : The system detects a given capability by 127 * value of a field in CPU ID feature register or checking the cpu 128 * model. The capability provides a call back ( @matches() ) to [all …]
|
/linux/drivers/acpi/arm64/ |
H A D | gtdt.c | 127 * Return: true if the timer HW state is lost when a CPU enters an idle state, 154 * @platform_timer_count: It points to a integer variable which is used 227 * See ARM DDI 0487A.k_iss10775, page I1-5129, Table I1-3 in gtdt_parse_timer_block() 277 * See ARM DDI 0487A.k_iss10775, page I1-5130, Table I1-4 in gtdt_parse_timer_block() 311 * @timer_count: It points to a integer variable which is used for storing the 341 * Initialize a SBSA generic Watchdog platform device info from GTDT 360 pr_debug("found a Watchdog (0x%llx/0x%llx gsi:%u flags:0x%x).\n", in gtdt_import_sbsa_gwdt() 377 * Add a platform device named "sbsa-gwdt" to match the platform driver. in gtdt_import_sbsa_gwdt()
|
/linux/arch/arm64/mm/ |
H A D | hugetlbpage.c | 146 * Changing some bits of contiguous entries requires us to follow a 148 * before we can change any entries. See ARM DDI 0487A.k_iss10775, 192 * Changing some bits of contiguous entries requires us to follow a 194 * before we can change any entries. See ARM DDI 0487A.k_iss10775, 398 * For a contiguous huge pte range we need to check whether or not write 400 * all the contiguous ptes we need to check whether or not there is a 494 * levels (PUD, CONT PMD, PMD, CONT PTE) for a given base in hugetlbpage_init()
|
H A D | contpte.c | 82 * - When unfolding a contiguous block into N smaller non-contiguous ptes. in contpte_convert() 115 * contiguous TLB entry, which is a micro-optimisation opportunity, in contpte_convert() 119 * This means a few things, but notably other PEs will still "see" any in contpte_convert() 120 * stale cached TLB entries. This could lead to a "contiguous bit in contpte_convert() 138 * are present, and a write is made to this address, do we fault or in contpte_convert() 141 * The relevant Arm ARM DDI 0487L.a requirements are RNGLXZ and RJQQTC, in contpte_convert() 143 * a TLB conflict abort is raised (which we expressly forbid), or will in contpte_convert() 147 * That is to say, will either raise a TLB conflict, or produce one of in contpte_convert() 218 * correctly aligned for a contpte mapping in contpte_try_fold() so the in __contpte_try_fold() 220 * covered by a single folio, and ensure that all the ptes are valid in __contpte_try_fold() [all …]
|
/linux/drivers/perf/ |
H A D | arm_brbe.c | 23 * purpose but BRBCR_ELx.TS needs to have a valid value from all 32 * entries each. An individual branch record in a given bank could 268 * Arm ARM (DDI 0487K.a) D.18.4 rule PPBZP requires explicit sync in select_brbe_bank() 291 * fail silently. PERF_SAMPLE_BRANCH_HV is a special case that is selectively 325 * either individually or as a group i.e ORing multiple filters 410 * a given exception level, then addresses which falls in branch_type_to_brbcr() 500 * Discard existing records to avoid a discontinuity, e.g. records in brbe_enable() 542 * ensures ordering and in the interrupt handler this is a NOP as in brbe_disable() 721 /* We can only have a half record if permissions have not been expanded */ in filter_branch_privilege() 726 * If record is within a single exception level, just need to either in filter_branch_privilege()
|
/linux/tools/arch/arm64/include/asm/ |
H A D | sysreg.h | 21 * C5.2, version:ARM DDI 0487A.f) 83 * As per Arm ARM for v8-A, Section "C.5.1.3 op0 == 0b00, architectural hints, 84 * barriers and CLREX, and PSTATE access", ARM DDI 0487 C.a, system instructions 959 * KASAN always uses a whole byte for its tags. With CONFIG_KASAN_HW_TAGS it 1139 * The "Z" constraint normally means a zero immediate, but when combined with 1170 * Modify bits in a sysreg. Bits in the clear mask are zeroed, then bits in the
|
/linux/tools/perf/util/ |
H A D | cs-etm.c | 56 * happen in cases like between a fork and an exec. 62 * everything in a buffer comes from the same process regardless of 122 * Same as traceid_list, but traceid_list may be a reference to another 123 * queue's which has a matching sink ID. 142 * A struct auxtrace_heap_item only has a queue_nr and a timestamp to 244 /* Disallow re-mapping a different traceID to metadata pair. */ in cs_etm__insert_trace_id_node() 446 * Get a metadata index for a specifi [all...] |
/linux/drivers/clocksource/ |
H A D | arm_arch_timer.c | 38 * The minimum amount of time a generic counter is guaranteed to not roll over 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 80 * See 'ARM DDI 0487G.a D11.1.2 ("The system counter")' for more details. 135 * if we don't have the cp15 accessors we won't have a problem. 447 /* Iterate over the ACPI OEM info array, looking for a match */ in arch_timer_check_acpi_oem_erratum() 497 * late in the game (with a per-CPU erratum, for example), so in arch_timer_enable_workaround() 559 #define arch_timer_check_ool_workaround(t,a) do { } while(0) argument 719 /* ECV is likely to require a large divider. Use the EVNTIS flag. */ in arch_timer_evtstrm_enable() 861 * probed has a clock-frequency property, this overrides the HW register. [all …]
|