Home
last modified time | relevance | path

Searched +full:supervisor +full:- +full:level (Results 1 – 25 of 79) sorted by relevance

1234

/linux-6.12.1/Documentation/devicetree/bindings/interrupt-controller/
Driscv,cpu-intc.yaml1 # 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-
20 time timer that is controlled via Supervisor Binary Interface (SBI) calls
[all …]
Driscv,imsics.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/interrupt-controller/riscv,imsics.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RISC-V Incoming MSI Controller (IMSIC)
10 - Anup Patel <anup@brainfault.org>
13 The RISC-V advanced interrupt architecture (AIA) defines a per-CPU incoming
14 MSI controller (IMSIC) for handling MSIs in a RISC-V platform. The RISC-V
15 AIA specification can be found at https://github.com/riscv/riscv-aia.
17 The IMSIC is a per-CPU (or per-HART) device with separate interrupt file
[all …]
Dsifive,plic-1.0.0.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
4 ---
5 $id: http://devicetree.org/schemas/interrupt-controller/sifive,plic-1.0.0.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: SiFive Platform-Level Interrupt Controller (PLIC)
11 SiFive SoCs and other RISC-V SoCs include an implementation of the
12 Platform-Level Interrupt Controller (PLIC) high-level specification in
13 the RISC-V Privileged Architecture specification. The PLIC connects all
18 in an 4 core system with 2-way SMT, you have 8 harts and probably at least two
19 privilege modes per hart; machine mode and supervisor mode.
[all …]
/linux-6.12.1/arch/riscv/include/asm/
Dcsr.h1 /* SPDX-License-Identifier: GPL-2.0-only */
13 #define SR_SIE _AC(0x00000002, UL) /* Supervisor Interrupt Enable */
15 #define SR_SPIE _AC(0x00000020, UL) /* Previous Supervisor IE */
17 #define SR_SPP _AC(0x00000100, UL) /* Previously Supervisor */
19 #define SR_SUM _AC(0x00040000, UL) /* Supervisor User Memory Access */
21 #define SR_FS _AC(0x00006000, UL) /* Floating-point Status */
39 #define SR_FS_VS (SR_FS | SR_VS) /* Vector and Floating-Point Unit */
48 #define SR_UXL _AC(0x300000000, UL) /* XLEN mask for U-mode */
49 #define SR_UXL_32 _AC(0x100000000, UL) /* XLEN = 32 for U-mode */
50 #define SR_UXL_64 _AC(0x200000000, UL) /* XLEN = 64 for U-mode */
[all …]
/linux-6.12.1/tools/arch/riscv/include/asm/
Dcsr.h1 /* SPDX-License-Identifier: GPL-2.0-only */
12 #define SR_SIE _AC(0x00000002, UL) /* Supervisor Interrupt Enable */
14 #define SR_SPIE _AC(0x00000020, UL) /* Previous Supervisor IE */
16 #define SR_SPP _AC(0x00000100, UL) /* Previously Supervisor */
18 #define SR_SUM _AC(0x00040000, UL) /* Supervisor User Memory Access */
20 #define SR_FS _AC(0x00006000, UL) /* Floating-point Status */
38 #define SR_FS_VS (SR_FS | SR_VS) /* Vector and Floating-Point Unit */
47 #define SR_UXL _AC(0x300000000, UL) /* XLEN mask for U-mode */
48 #define SR_UXL_32 _AC(0x100000000, UL) /* XLEN = 32 for U-mode */
49 #define SR_UXL_64 _AC(0x200000000, UL) /* XLEN = 64 for U-mode */
[all …]
/linux-6.12.1/Documentation/arch/x86/x86_64/
Dfred.rst1 .. SPDX-License-Identifier: GPL-2.0
11 privilege level (ring transitions). The FRED architecture was
20 establishes the full supervisor context and that event return
33 The LKGS instruction can be used by 64-bit operating systems that do
46 framework must be implemented to facilitate the event-to-handler
48 once an event is delivered, and employs a two-level dispatch.
50 The first level dispatching is event type based, and the second level
53 Full supervisor/user context
56 FRED event delivery atomically save and restore full supervisor/user
86 event handling, and each stack level should be configured to use a
[all …]
/linux-6.12.1/Documentation/devicetree/bindings/riscv/
Dextensions.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR MIT)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: RISC-V ISA extensions
10 - Paul Walmsley <paul.walmsley@sifive.com>
11 - Palmer Dabbelt <palmer@sifive.com>
12 - Conor Dooley <conor@kernel.org>
15 RISC-V has a large number of extensions, some of which are "standard"
16 extensions, meaning they are ratified by RISC-V International, and others
36 Identifies the specific RISC-V instruction set architecture
[all …]
/linux-6.12.1/Documentation/arch/riscv/
Duabi.rst1 .. SPDX-License-Identifier: GPL-2.0
3 RISC-V Linux User ABI
7 ------------------------------------
14 #. Single-letter extensions come first, in canonical order.
17 #. All multi-letter extensions will be separated from other extensions by an
21 single-letter extensions and before any higher-privileged extensions.
29 #. Standard supervisor-level extensions (starting with 'S') will be listed
30 after standard unprivileged extensions. If multiple supervisor-level
33 #. Standard machine-level extensions (starting with 'Zxm') will be listed
34 after any lower-privileged, standard extensions. If multiple machine-level
[all …]
/linux-6.12.1/arch/microblaze/include/asm/
Dmmu.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu>
4 * Copyright (C) 2008-2009 PetaLogix
27 unsigned long w:1; /* Write-thru cache mode */
36 # define PP_RWXX 0 /* Supervisor read/write, User none */
37 # define PP_RWRX 1 /* Supervisor read/write, User read */
38 # define PP_RWRW 2 /* Supervisor read/write, User read/write */
39 # define PP_RXRX 3 /* Supervisor read, User read */
44 unsigned long ks:1; /* Supervisor 'key' (normally 0) */
46 unsigned long n:1; /* No-execute */
[all …]
Dthread_info.h1 /* SPDX-License-Identifier: GPL-2.0 */
21 * low level task data that entry.S needs immediate access to
22 * - this struct should fit entirely inside of one cache line
23 * - this struct shares the supervisor stack pages
24 * - if the contents of this structure are changed, the assembly constants
38 /* non-volatile registers */
61 unsigned long flags; /* low level flags */
62 unsigned long status; /* thread-synchronous flags */
85 return (struct thread_info *)(sp & ~(THREAD_SIZE-1)); in current_thread_info()
93 * - these are process state flags that various assembly files may
[all …]
/linux-6.12.1/arch/x86/kvm/
Dmmu.h1 /* SPDX-License-Identifier: GPL-2.0 */
57 return ((2ULL << (e - s)) - 1) << s; in rsvd_bits()
75 return (1ULL << (max_gpa_bits - PAGE_SHIFT)) - 1; in kvm_mmu_max_gfn()
106 if (likely(vcpu->arch.mmu->root.hpa != INVALID_PAGE)) in kvm_mmu_reload()
136 u64 root_hpa = vcpu->arch.mmu->root.hpa; in kvm_mmu_load_pgd()
142 vcpu->arch.mmu->root_role.level); in kvm_mmu_load_pgd()
151 * be stale. Refresh CR0.WP and the metadata on-demand when checking in kvm_mmu_refresh_passthrough_bits()
157 if (!tdp_enabled || mmu == &vcpu->arch.guest_mmu) in kvm_mmu_refresh_passthrough_bits()
180 * For explicit supervisor accesses, SMAP is disabled if EFLAGS.AC = 1. in permission_fault()
181 * For implicit supervisor accesses, SMAP cannot be overridden. in permission_fault()
[all …]
/linux-6.12.1/arch/openrisc/include/asm/
Dspr_defs.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
10 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
19 /* Definition of special-purpose registers (SPRs). */
215 #define SPR_SR_SM 0x00000001 /* Supervisor Mode */
231 #define SPR_SR_SUMRA 0x00010000 /* Supervisor SPR read access */
239 #define SPR_DMMUCR_P2S 0x0000003e /* Level 2 Page Size */
240 #define SPR_DMMUCR_P1S 0x000007c0 /* Level 1 Page Size */
248 #define SPR_IMMUCR_P2S 0x0000003e /* Level 2 Page Size */
249 #define SPR_IMMUCR_P1S 0x000007c0 /* Level 1 Page Size */
258 #define SPR_DTLBMR_PL1 0x00000002 /* Page Level 1 (if 0 then PL2) */
[all …]
Dthread_info.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
11 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
35 * low level task data that entry.S needs immediate access to
36 * - this struct should fit entirely inside of one cache line
37 * - this struct shares the supervisor stack pages
38 * - if the contents of this structure are changed, the assembly constants
45 unsigned long flags; /* low level flags */
75 #define get_thread_info(ti) get_task_struct((ti)->task)
76 #define put_thread_info(ti) put_task_struct((ti)->task)
84 * - pending work-to-be-done flags are in LSW
[all …]
/linux-6.12.1/tools/perf/pmu-events/arch/arm64/
Drecommended.json3 "PublicDescription": "Attributable Level 1 data cache access, read",
9 "PublicDescription": "Attributable Level 1 data cache access, write",
15 "PublicDescription": "Attributable Level 1 data cache refill, read",
21 "PublicDescription": "Attributable Level 1 data cache refill, write",
27 "PublicDescription": "Attributable Level 1 data cache refill, inner",
33 "PublicDescription": "Attributable Level 1 data cache refill, outer",
39 "PublicDescription": "Attributable Level 1 data cache Write-Back, victim",
42 "BriefDescription": "L1D cache Write-Back, victim"
45 "PublicDescription": "Level 1 data cache Write-Back, cleaning and coherency",
48 "BriefDescription": "L1D cache Write-Back, cleaning and coherency"
[all …]
/linux-6.12.1/arch/powerpc/include/asm/nohash/32/
Dpte-8xx.h1 /* SPDX-License-Identifier: GPL-2.0 */
8 * We also use the two level tables, but we can put the real bits in them
10 * Mx_CTR.PPCS = 0, and MD_CTR.TWAM = 1. The level 2 descriptor has
16 * the TLB entry (24 and 25) for these indicators. Although the level 1
18 * set these at the page level since they get copied from the Mx_TWC
21 * These will get masked from the level 2 descriptor at TLB load time, and
46 #define _PAGE_NA 0x0200 /* Supervisor NA, User no access */
47 #define _PAGE_RO 0x0600 /* Supervisor RO, User no access */
84 #include <asm/pgtable-masks.h>
138 pte_update(vma->vm_mm, address, ptep, clr, set, huge); in __ptep_set_access_flags()
[all …]
Dmmu-8xx.h1 /* SPDX-License-Identifier: GPL-2.0 */
10 * During software tablewalk, the registers used perform mask/shift-add
33 * respectively NA for All or X for Supervisor and no access for User.
35 * "all Supervisor" rules (Access to all)
43 * 4-15 => Not Used
57 /* A "level 1" or "segment" or whatever you want to call it register.
120 /* The pointer to the base address of the first level page table.
125 #define M_L1TB 0xfffff000 /* Level 1 table base address */
126 #define M_L1INDX 0x00000ffc /* Level 1 index, when read */
129 /* A "level 1" or "segment" or whatever you want to call it register.
[all …]
/linux-6.12.1/arch/mips/include/asm/octeon/
Docteon.h6 * Copyright (C) 2004-2008 Cavium Networks
57 /* Start of block referenced by assembly code - do not change! */
66 /* End of This block referenced by assembly code - do not change! */
117 /* End of This block referenced by assembly code - do not change! */
124 * Warning low bit scrambled in little-endian.
182 /* OCTEON II - TLB replacement policy: 0 = bitmask LRU; 1 = NLU.
189 /* OCTEON II - Selects the bit in the counter used for
196 /* OCTEON II - This field is an extension of
199 /* R/W If set, marked write-buffer entries time out
201 * write-buffer entries use the maximum timeout. */
[all …]
/linux-6.12.1/arch/nios2/include/asm/
Dthread_info.h2 * NiosII low-level thread information
30 * low level task data that entry.S needs immediate access to
31 * - this struct should fit entirely inside of one cache line
32 * - this struct shares the supervisor stack pages
33 * - if the contents of this structure are changed, the assembly constants
38 unsigned long flags; /* low level flags */
62 return (struct thread_info *)(sp & ~(THREAD_SIZE - 1)); in current_thread_info()
68 * - these are process state flags that various assembly files may need to
70 * - pending work-to-be-done flags are in LSW
71 * - other flags in MSW
/linux-6.12.1/arch/arm/mach-imx/
Dcpu.c1 // SPDX-License-Identifier: GPL-2.0
42 * Set all MPROTx to be non-bufferable, trusted for R/W, in imx_set_aips()
43 * not forced to user-mode. in imx_set_aips()
49 * Set all OPACRx to be non-bufferable, to not require in imx_set_aips()
50 * supervisor privilege level for access, allow for in imx_set_aips()
/linux-6.12.1/arch/loongarch/include/asm/
Dthread_info.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 * thread_info.h: LoongArch low-level thread information
5 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
18 * low level task data that entry.S needs immediate access to
19 * - this struct should fit entirely inside of one cache line
20 * - this struct shares the supervisor stack pages
21 * - if the contents of this structure are changed, the assembly constants
26 unsigned long flags; /* low level flags */
60 #define THREAD_MASK (THREAD_SIZE - 1UL)
64 * - these are process state flags that various assembly files may need to
[all …]
/linux-6.12.1/arch/arc/include/asm/
Dthread_info.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
7 * anyways one page allocation, thus slab alloc can be short-circuited and
32 * low level task data that entry.S needs immediate access to
33 * - this struct should fit entirely inside of one cache line
34 * - this struct shares the supervisor stack pages
35 * - if the contents of this structure are changed, the assembly constants
39 unsigned long flags; /* low level flags */
49 * - this is not related to init_task per se
62 return (struct thread_info *)(sp & ~(THREAD_SIZE - 1)); in current_thread_info()
[all …]
/linux-6.12.1/arch/s390/include/asm/
Dthread_info.h1 /* SPDX-License-Identifier: GPL-2.0 */
13 #include <asm/asm-offsets.h>
27 #define STACK_INIT_OFFSET (THREAD_SIZE - STACK_FRAME_OVERHEAD - __PT_SIZE)
34 * low level task data that entry.S needs immediate access to
35 * - this struct should fit entirely inside of one cache line
36 * - this struct shares the supervisor stack pages
37 * - if the contents of this structure are changed, the assembly constants must also be changed
40 unsigned long flags; /* low level flags */
68 #define TIF_UPROBE 3 /* breakpointed or single-stepping */
/linux-6.12.1/arch/nios2/mm/
Dfault.c7 * Copyright (C) 1995-2000 Ralf Baechle
32 #define EXC_SUPERV_INSN_ACCESS 9 /* Supervisor only instruction address */
33 #define EXC_SUPERV_DATA_ACCESS 11 /* Supervisor only data address */
48 struct mm_struct *mm = tsk->mm; in do_page_fault()
56 regs->ea -= 4; in do_page_fault()
59 * We fault-in kernel-space virtual memory on-demand. The in do_page_fault()
105 if (!(vma->vm_flags & VM_EXEC)) in do_page_fault()
109 if (!(vma->vm_flags & VM_READ)) in do_page_fault()
113 if (!(vma->vm_flags & VM_WRITE)) in do_page_fault()
173 "cause %ld\n", current->comm, SIGSEGV, address, cause); in do_page_fault()
[all …]
/linux-6.12.1/arch/xtensa/include/asm/
Dthread_info.h2 * include/asm-xtensa/thread_info.h
8 * Copyright (C) 2001 - 2005 Tensilica Inc.
24 * low level task data that entry.S needs immediate access to
25 * - this struct should fit entirely inside of one cache line
26 * - this struct shares the supervisor stack pages
27 * - if the contents of this structure are changed, the assembly constants
50 unsigned long flags; /* low level flags */
51 unsigned long status; /* thread-synchronous flags */
65 * If i-th bit is set then coprocessor state is loaded into the
113 * - these are process state flags that various assembly files may need to access
[all …]
/linux-6.12.1/Documentation/core-api/
Derrseq.rst13 It's implemented as an unsigned 32-bit value. The low order bits are
28 +--------------------------------------+----+------------------------+
30 +--------------------------------------+----+------------------------+
32 +--------------------------------------+----+------------------------+
54 They're all handing him work to do -- so much he can't keep track of who
60 but he can't keep track of things at that level of detail, all he can
78 struct supervisor {
83 struct supervisor su;
103 errseq_set(&wd.wd_err, -EIO);
115 to do a one-off job for him. He's not really watching the worker
[all …]

1234