| /linux/tools/perf/pmu-events/arch/arm64/fujitsu/monaka/ |
| H A D | spec_operation.json | 12 "BriefDescription": "This event counts every architecturally executed instruction." 16 "BriefDescription": "This event counts every speculatively executed micro-operation." 20 … "BriefDescription": "This event counts architecturally executed load-exclusive instructions." 24 … "BriefDescription": "This event counts architecturally executed store-exclusive instructions." 28 …"BriefDescription": "This event counts architecturally executed memory-reading instructions, as de… 32 …"BriefDescription": "This event counts architecturally executed memory-writing instructions, as de… 36 …iption": "This event counts architecturally executed memory-reading instructions and memory-writin… 40 …"BriefDescription": "This event counts architecturally executed integer data-processing instructio… 44 …"BriefDescription": "This event counts architecturally executed Advanced SIMD data-processing inst… 48 …"BriefDescription": "This event counts architecturally executed floating-point data-processing ins… [all …]
|
| /linux/Documentation/devicetree/bindings/interrupt-controller/ |
| H A D | riscv,cpu-intc.yaml | 1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/interrupt-controller/riscv,cpu-intc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RISC-V Hart-Level Interrupt Controller (HLIC) 10 RISC-V cores include Control Status Registers (CSRs) which are local to 11 each CPU core (HART in RISC-V terminology) and can be read or written by 16 The RISC-V supervisor ISA manual specifies three interrupt sources that are 19 cores. The timer interrupt comes from an architecturally mandated real- 22 the HLIC, which are routed via the platform-level interrupt controller [all …]
|
| /linux/arch/arm/include/asm/ |
| H A D | virt.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 14 * architecturally defined flag bit here. 24 * A correctly-implemented bootloader must start all CPUs in the same mode:
|
| /linux/Documentation/virt/kvm/devices/ |
| H A D | arm-vgic-v3.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 - KVM_DEV_TYPE_ARM_VGIC_V3 ARM Generic Interrupt Controller v3.0 12 will act as the VM interrupt controller, requiring emulated user-space devices 24 KVM_VGIC_V3_ADDR_TYPE_DIST (rw, 64-bit) 29 KVM_VGIC_V3_ADDR_TYPE_REDIST (rw, 64-bit) 36 KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION (rw, 64-bit) 39 bits: | 63 .... 52 | 51 .... 16 | 15 - 12 |11 - 0 42 - index encodes the unique redistributor region index 43 - flags: reserved for future use, currently 0 44 - base field encodes bits [51:16] of the guest physical base address [all …]
|
| /linux/Documentation/devicetree/bindings/timer/ |
| H A D | arm,arch_timer_mmio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Marc Zyngier <marc.zyngier@arm.com> 11 - Mark Rutland <mark.rutland@arm.com> 22 - enum: 23 - arm,armv7-timer-mem 29 '#address-cells': 32 '#size-cells': 37 clock-frequency: [all …]
|
| H A D | arm,arch_timer.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Marc Zyngier <marc.zyngier@arm.com> 11 - Mark Rutland <mark.rutland@arm.com> 13 ARM cores may have a per-core architected timer, which provides per-cpu timers, 17 The per-core architected timer is attached to a GIC to deliver its 18 per-processor interrupts via PPIs. The memory mapped timer is attached to a GIC 24 - items: 25 - const: arm,cortex-a15-timer [all …]
|
| /linux/arch/parisc/kernel/ |
| H A D | vmlinux.lds.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 1999-2003 Matthew Wilcox <willy at parisc-linux.org> 5 * Copyright (C) 2000-2003 Paul Bame <bame at parisc-linux.org> 6 * Copyright (C) 2000 John Marvin <jsm at parisc-linux.org> 8 * Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org> 9 * Copyright (C) 2003 James Bottomley <jejb with parisc-linux.org> 10 * Copyright (C) 2006-2013 Helge Deller <deller@gmx.de> 24 #include <asm-generic/vmlinux.lds.h> 29 #include <asm/asm-offsets.h> 34 OUTPUT_FORMAT("elf32-hppa-linux") [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/silvermont/ |
| H A D | pipeline.json | 107 …architecturally defined event. This event counts the number of retired branch instructions that we… 116 …he processor predicts that the branch would be taken, but it is not, or vice-versa. When the misp… 126 …he processor predicts that the branch would be taken, but it is not, or vice-versa. When the misp… 136 …he processor predicts that the branch would be taken, but it is not, or vice-versa. When the misp… 146 …he processor predicts that the branch would be taken, but it is not, or vice-versa. When the misp… 156 …he processor predicts that the branch would be taken, but it is not, or vice-versa. When the misp… 164 …by dividing the event count by the core frequency. This event is architecturally defined and is a … 189 …lapsed time while the core was not in halt state. This event is architecturally defined and is a … 206 … For instructions that consist of multiple micro-ops, this event counts exactly once, as the last … 215 … For instructions that consist of multiple micro-ops, this event counts the retirement of the last… [all …]
|
| /linux/drivers/hwtracing/coresight/ |
| H A D | coresight-cti-platform.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <dt-bindings/arm/coresight-cti-dt.h> 14 #include "coresight-cti.h" 15 #include "coresight-priv.h" 17 /* Number of CTI signals in the v8 architecturally defined connection */ 23 #define CTI_DT_CONNS "trig-conns" 26 #define CTI_DT_V8ARCH_COMPAT "arm,coresight-cti-v8-arch" 27 #define CTI_DT_CSDEV_ASSOC "arm,cs-dev-assoc" 28 #define CTI_DT_TRIGIN_SIGS "arm,trig-in-sigs" 29 #define CTI_DT_TRIGOUT_SIGS "arm,trig-out-sigs" [all …]
|
| /linux/Documentation/arch/x86/ |
| H A D | entry_64.rst | 1 .. SPDX-License-Identifier: GPL-2.0 16 for 64-bit, arch/x86/entry/entry_32.S for 32-bit and finally 17 arch/x86/entry/entry_64_compat.S which implements the 32-bit compatibility 18 syscall entry points and thus provides for 32-bit processes the 19 ability to execute syscalls when running on 64-bit kernels. 25 - system_call: syscall instruction from 64-bit code. 27 - entry_INT80_compat: int 0x80 from 32-bit or 64-bit code; compat syscall 30 - entry_INT80_compat, ia32_sysenter: syscall and sysenter from 32-bit 33 - interrupt: An array of entries. Every IDT vector that doesn't 36 magically-generated functions that make their way to common_interrupt() [all …]
|
| /linux/arch/x86/lib/ |
| H A D | retpoline.S | 1 /* SPDX-License-Identifier: GPL-2.0 */ 9 #include <asm/asm-offsets.h> 10 #include <asm/nospec-branch.h> 64 #include <asm/GEN-for-each-reg.h> 71 #include <asm/GEN-for-each-reg.h> 94 #include <asm/GEN-for-each-reg.h> 101 #include <asm/GEN-for-each-reg.h> 120 #include <asm/GEN-for-each-reg.h> 127 #include <asm/GEN-for-each-reg.h> 152 .skip 32 - (__x86_indirect_its_thunk_\reg - 1b), 0xcc /* skip to the next upper half */ [all …]
|
| /linux/arch/x86/mm/ |
| H A D | pgtable.c | 1 // SPDX-License-Identifier: GPL-2.0 11 phys_addr_t physical_mask __ro_after_init = (1ULL << __PHYSICAL_MASK_SHIFT) - 1; 32 * NOTE! For PAE, any changes to the top page-directory-pointer-table in ___pmd_free_tlb() 36 tlb->need_flush_all = 1; in ___pmd_free_tlb() 62 list_add(&ptdesc->pt_list, &pgd_list); in pgd_list_add() 69 list_del(&ptdesc->pt_list); in pgd_list_del() 74 virt_to_ptdesc(pgd)->pt_mm = mm; in pgd_set_mm() 79 return page_ptdesc(page)->pt_mm; in pgd_page_get_mm() 103 * List of all pgd's needed for non-PAE so it can invalidate entries 106 * tactic would be needed. This is essentially codepath-based locking [all …]
|
| /linux/Documentation/trace/coresight/ |
| H A D | coresight-ect.rst | 1 .. SPDX-License-Identifier: GPL-2.0 11 -------------------- 21 0 C 0----------->: : +======>(other CTI channel IO) 22 0 P 0<-----------: : v 24 0000000 : CTI :<=========>*CTM*<====>: CTI :---+ 25 ####### in_trigs : : (id 0-3) ***** ::::::: v 26 # ETM #----------->: : ^ ####### 27 # #<-----------: : +---# ETR # 47 defined, unless the CPU/ETM combination is a v8 architecture, in which case 48 the connections have an architecturally defined standard layout. [all …]
|
| H A D | coresight-etm4x-reference.rst | 11 --------------------------- 20 ---- 37 ---- 47 ---- 52 - > 0 : Programs up the hardware with the current values held in the driver 55 - = 0 : disable trace hardware. 60 ---- 72 ---- 77 When FEAT_TRF is implemented, value of TRFCR_ELx.TS used for trace session. Otherwise -1 86 ---- [all …]
|
| /linux/arch/arm64/kvm/ |
| H A D | reset.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 81 vcpu->arch.sve_max_vl = kvm_sve_max_vl; in kvm_vcpu_enable_sve() 88 set_bit(KVM_ARCH_FLAG_GUEST_HAS_SVE, &vcpu->kvm->arch.flags); in kvm_vcpu_enable_sve() 93 * vcpu->arch.sve_state as necessary. 102 vl = vcpu->arch.sve_max_vl; in kvm_vcpu_finalize_sve() 107 * set_sve_vls(). Double-check here just to be sure: in kvm_vcpu_finalize_sve() 111 return -EIO; in kvm_vcpu_finalize_sve() 116 return -ENOMEM; in kvm_vcpu_finalize_sve() [all …]
|
| /linux/arch/arm64/include/uapi/asm/ |
| H A D | kvm.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * Copyright (C) 2012,2013 - ARM Ltd 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 58 * Supported CPU Targets - Adding a new target type is not recommended, 127 * Although the control registers are architecturally defined as 32 150 * Architecture specific defines for kvm_guest_debug->control 161 /* Bits for run->s.regs.device_irq_level */ 266 * KVM_REG_ARM_TIMER_CVAL and KVM_REG_ARM_TIMER_CNT are not defined 275 /* KVM-as-firmware specific pseudo-registers */ 287 * - NOT_REQUIRED: the guest doesn't need to do anything [all …]
|
| /linux/tools/arch/arm64/include/uapi/asm/ |
| H A D | kvm.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 3 * Copyright (C) 2012,2013 - ARM Ltd 7 * Copyright (C) 2012 - Virtual Open Systems and Columbia University 58 * Supported CPU Targets - Adding a new target type is not recommended, 127 * Although the control registers are architecturally defined as 32 150 * Architecture specific defines for kvm_guest_debug->control 161 /* Bits for run->s.regs.device_irq_level */ 266 * KVM_REG_ARM_TIMER_CVAL and KVM_REG_ARM_TIMER_CNT are not defined 275 /* KVM-as-firmware specific pseudo-registers */ 287 * - NOT_REQUIRED: the guest doesn't need to do anything [all …]
|
| /linux/drivers/clocksource/ |
| H A D | arc_timer.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2016-17 Synopsys, Inc. (www.synopsys.com) 4 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 11 * ARCv2 based HS38 cores have RTC (in-core) and GFRC (inside ARConnect/MCIP) 18 #include <linux/clk-provider.h> 65 * MCIP_CMD/MCIP_READBACK however micro-architecturally there's in arc_read_gfrc() 70 * trying to access two different sub-components (like GFRC, in arc_read_gfrc() 71 * inter-core interrupt, etc...). HW also supports simultaneously in arc_read_gfrc() 75 * defined in arch/arc/kernel/mcip.c in arc_read_gfrc() 110 pr_warn("Global-64-bit-Ctr clocksource not detected\n"); in arc_cs_setup_gfrc() [all …]
|
| /linux/arch/arm64/include/asm/ |
| H A D | ptrace.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 1996-2003 Russell King 24 #include <linux/irqchip/arm-gic-v3-prio.h> 35 /* AArch32-specific ptrace requests */ 68 #define PSR_AA32_IT_MASK 0x0600fc00 /* If-Then execution state mask */ 90 * a syscall -- i.e., its most recent entry into the kernel from 93 * This must have the value -1, for ABI compatibility with ptrace etc. 95 #define NO_SYSCALL (-1) 106 /* Architecturally defined mapping between AArch32 and AArch64 registers */ 179 return regs->syscallno != NO_SYSCALL; in in_syscall() [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | mce.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 29 #define MCG_STATUS_SEAM_NR BIT_ULL(12) /* Machine check inside SEAM non-root mode */ 49 /* AMD-specific bits */ 58 * - Deferred error interrupt type is specifiable by bank. 59 * - MCx_MISC0[BlkPtr] field indicates presence of extended MISC registers, 61 * - TCC bit is present in MCx_STATUS. 70 * bits 15:0. But bit 12 is the 'F' bit, defined for corrected 73 * of uncorrected errors - so the F bit is deliberately skipped 78 /* Architecturally defined codes from SDM Vol. 3B Chapter 15 */ 79 #define MCACOD_SCRUB 0x00C0 /* 0xC0-0xCF Memory Scrubbing */ [all …]
|
| /linux/arch/arm/probes/ |
| H A D | decode.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 26 /* str_pc_offset is architecturally defined from ARMv7 onwards */ 32 /* We need a run-time check to determine str_pc_offset */ 41 long cpsr = regs->ARM_cpsr; in bx_write_pc() 49 regs->ARM_cpsr = cpsr; in bx_write_pc() 50 regs->ARM_pc = pcv; in bx_write_pc() 62 /* We need run-time testing to determine if load_write_pc() should interwork. */ 73 regs->ARM_pc = pcv; in load_write_pc() 90 /* We could be an ARMv6 binary on ARMv7 hardware so we need a run-time check. */ 101 regs->ARM_pc = pcv; in alu_write_pc() [all …]
|
| /linux/arch/x86/kvm/ |
| H A D | pmu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Kernel-based Virtual Machine -- Performance Monitoring Unit support 26 /* This is enough to filter the vast majority of currently defined events. */ 46 /* Instruction-Accurate PDIR (PDIR++) */ 58 * - Each perf counter is defined as "struct kvm_pmc"; 59 * - There are two types of perf counters: general purpose (gp) and fixed. 63 * - pmu.c understands the difference between gp counters and fixed counters. 64 * However AMD doesn't support fixed-counters; 65 * - There are three types of index to access perf counters (PMC): 68 * MSR_F15H_PERF_CTRn, where MSR_F15H_PERF_CTR[0-3] are [all …]
|
| H A D | x86.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 44 * The host's raw MAXPHYADDR, i.e. the number of non-reserved physical 60 (sizeof(((struct kvm_memslots *)0)->id_hash) * 2 * KVM_MAX_NR_ADDRESS_SPACES) 67 * Assert that "struct kvm_{svm,vmx,tdx}" is an order-0 or order-1 allocation. 68 * Spilling over to an order-2 allocation isn't fundamentally problematic, but 70 * the size is an order-0 allocation when ignoring the memslot hash tables, to 75 BUILD_BUG_ON(get_order(sizeof(struct x) - SIZE_OF_MEMSLOTS_HASHTABLE) && \ 106 * KVM's internal, non-ABI indices for synthetic MSRs. The values themselves 140 val -= modifier; in __shrink_ple_window() 154 kvm_x86_ops.nested_ops->leave_nested(vcpu); in kvm_leave_nested() [all …]
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | pmu_counters_test.c | 1 // SPDX-License-Identifier: GPL-2.0 58 * compiler often thinks the feature definitions aren't compile-time constants. 142 * bizarre with an architecturally valid, but unsupported, version. in guest_get_pmu_version() 149 * one "hit, assert that its count is non-zero. If an event isn't supported or 166 /* Relax precise count check due to VM-EXIT/VM-ENTRY overcount issue */ in guest_assert_event_count() 173 /* Relax precise count check due to VM-EXIT/VM-ENTRY overcount issue */ in guest_assert_event_count() 194 "Expected top-down slots >= %u, got count = %lu", in guest_assert_event_count() 358 * Limit testing to MSRs that are actually defined by Intel (in the SDM). MSRs 359 * that aren't defined counter MSRs *probably* don't exist, but there's no 404 * TODO: Test a value that validates full-width writes and the in guest_rd_wr_counters() [all …]
|
| /linux/Documentation/arch/loongarch/ |
| H A D | introduction.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. There are 8 currently 3 variants: a reduced 32-bit version (LA32R), a standard 32-bit 9 version (LA32S) and a 64-bit version (LA64). There are 4 privilege levels 10 (PLVs) defined in LoongArch: PLV0~PLV3, from high to low. Kernel runs at PLV0 22 ---- 24 LoongArch has 32 GPRs ( ``$r0`` ~ ``$r31`` ); each one is 32-bit wide in LA32 25 and 64-bit wide in LA64. ``$r0`` is hard-wired to zero, and the other registers 26 are not architecturally special. (Except ``$r1``, which is hard-wired as the 30 the LoongArch ELF psABI spec, in :ref:`References <loongarch-references>`: [all …]
|