/linux/Documentation/arch/riscv/ |
H A D | hwprobe.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 RISC-V Hardware Probing Interface 4 --------------------------------- 6 The RISC-V hardware probing interface is based around a single syscall, which 18 The arguments are split into three groups: an array of key-value pairs, a CPU 19 set, and some flags. The key-value pairs are supplied with a count. Userspace 22 will be cleared to -1, and its value set to 0. The CPU set is defined by 23 CPU_SET(3) with size ``cpusetsize`` bytes. For value-like keys (eg. vendor, 25 have the same value. Otherwise -1 will be returned. For boolean-like keys, the 33 by sys_riscv_hwprobe() to only those which match each of the key-value pairs. [all …]
|
H A D | patch-acceptance.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 -------- 8 The RISC-V instruction set architecture is developed in the open: 9 in-progress drafts are available for all to review and to experiment 11 during the development process - sometimes in ways that are 13 challenge for RISC-V Linux maintenance. Linux maintainers disapprove 14 of churn, and the Linux development process prefers well-reviewed and 16 principles to the RISC-V-related code that will be accepted for 20 --------- 22 RISC-V has a patchwork instance, where the status of patches can be checked: [all …]
|
H A D | boot.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 RISC-V Kernel Boot Requirements and Constraints 10 This document describes what the RISC-V kernel expects from bootloaders and 16 Pre-kernel Requirements and Constraints 19 The RISC-V kernel expects the following of bootloaders and platform firmware: 22 -------------- 24 The RISC-V kernel expects: 30 --------- 32 The RISC-V kernel expects: 37 ------------------------------------- [all …]
|
H A D | vm-layout.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Virtual Memory Layout on RISC-V Linux 10 This document describes the virtual memory layout used by the RISC-V Linux 13 RISC-V Linux Kernel 32bit 16 RISC-V Linux Kernel SV32 17 ------------------------ 21 RISC-V Linux Kernel 64bit 24 The RISC-V privileged architecture document states that the 64bit addresses 25 "must have bits 63–48 all equal to bit 47, or else a page-fault exception will 28 the RISC-V Linux Kernel resides. [all …]
|
H A D | boot-image-header.rst | 2 Boot image header in RISC-V Linux 8 This document only describes the boot image header details for RISC-V Linux. 10 The following 64-byte header is present in decompressed Linux kernel image:: 25 ARM64 header. Thus, both ARM64 & RISC-V header can be combined into one common 31 - This header is also reused to support EFI stub for RISC-V. EFI specification 37 - version field indicate header version number 47 - The "magic" field is deprecated as of version 0.2. In a future 52 - In current header, the flags field has only one field. 58 - Image size is mandatory for boot loader to load kernel image. Booting will
|
H A D | cmodx.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Concurrent Modification and Execution of Instructions (CMODX) for RISC-V Linux 9 (icache) are not guaranteed to be synchronized on RISC-V hardware. Therefore, the 14 ------------------------- 17 --------------------- 21 enable or disable the redirection. In the case of RISC-V, 2 instructions, 23 to patch 2 instructions and expect that a concurrent read-side executes them 25 RISC-V ftrace. Kernel preemption makes things even worse as it allows the old 29 preemption, we partially initialize each patchable function entry at boot-time, 36 is limited to +-2K from the predetermined target, ftrace_caller, due to the lack [all …]
|
H A D | vector.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Vector Extension Support for RISC-V Linux 8 order to support the use of the RISC-V Vector Extension. 11 --------------------- 15 these interfaces is to give init systems a way to modify the availability of V 19 are not portable to non-Linux, nor non-RISC-V environments, so it is discourage 20 to use in a portable code. To get the availability of V in an ELF program, 27 argument consists of two 2-bit enablement statuses and a bit for inheritance 30 Enablement status is a tri-state value each occupying 2-bit of space in 33 * :c:macro:`PR_RISCV_V_VSTATE_CTRL_DEFAULT`: Use the system-wide default [all …]
|
H A D | acpi.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 ACPI on RISC-V 8 Conversion, 12/2022 of the RISC-V specifications, as defined by tag 9 "riscv-isa-release-1239329-2023-05-23" (commit 1239329 10 ) <https://github.com/riscv/riscv-isa-manual/releases/tag/riscv-isa-release-1239329-2023-05-23>`_
|
/linux/Documentation/translations/it_IT/arch/riscv/ |
H A D | patch-acceptance.rst | 1 .. include:: ../../disclaimer-ita.rst 3 :Original: :doc:`../../../../arch/riscv/patch-acceptance` 10 ------------ 12 L'insieme di istruzioni RISC-V sono sviluppate in modo aperto: le 15 dei nuovi moduli o estensioni possono cambiare in fase di sviluppo - a 18 supporto RISC-V nel kernel Linux. I manutentori Linux non amano 22 relativo all'architettura RISC-V che verrà accettato per l'inclusione 26 --------- 28 RISC-V ha un'istanza di patchwork dov'è possibile controllare lo stato delle patch: 30 https://patchwork.kernel.org/project/linux-riscv/list/ [all …]
|
/linux/Documentation/devicetree/bindings/timer/ |
H A D | riscv,timer.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: RISC-V timer 10 - Anup Patel <anup@brainfault.org> 13 RISC-V platforms always have a RISC-V timer device for the supervisor-mode 14 based on the time CSR defined by the RISC-V privileged specification. The 15 timer interrupts of this device are configured using the RISC-V SBI Time 16 extension or the RISC-V Sstc extension. 18 The clock frequency of RISC-V timer device is specified via the [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 …]
|
H A D | sifive,plic-1.0.0.yaml | 1 # 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 21 Each interrupt can be enabled on per-context basis. Any context can claim [all …]
|
/linux/Documentation/devicetree/bindings/riscv/ |
H A D | extensions.yaml | 1 # 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 …]
|
H A D | cpus.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR MIT) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RISC-V CPUs 10 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Palmer Dabbelt <palmer@sifive.com> 12 - Conor Dooley <conor@kernel.org> 15 This document uses some terminology common to the RISC-V community 19 mandated by the RISC-V ISA: a PC and some registers. This 27 - $ref: /schemas/cpu.yaml# [all …]
|
/linux/drivers/cpuidle/ |
H A D | Kconfig.riscv | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # RISC-V CPU Idle drivers 7 bool "RISC-V SBI CPU idle Driver" 13 Select this option to enable RISC-V SBI firmware based CPU idle 14 driver for RISC-V systems. This drivers also supports hierarchical
|
/linux/Documentation/translations/zh_CN/arch/riscv/ |
H A D | vm-layout.rst | 1 .. SPDX-License-Identifier: GPL-2.0 2 .. include:: ../../disclaimer-zh_CN.rst 4 :Original: Documentation/arch/riscv/vm-layout.rst 12 RISC-V Linux上的虚拟内存布局 18 这份文件描述了RISC-V Linux内核使用的虚拟内存布局。 20 32位 RISC-V Linux 内核 23 RISC-V Linux Kernel SV32 24 ------------------------ 28 64位 RISC-V Linux 内核 31 RISC-V特权架构文档指出,64位地址 "必须使第63-48位值都等于第47位,否则将发生缺页异常。":这将虚 [all …]
|
H A D | patch-acceptance.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 .. include:: ../../disclaimer-zh_CN.rst 5 :Original: Documentation/arch/riscv/patch-acceptance.rst 11 .. _cn_riscv_patch-acceptance: 17 ---- 18 RISC-V指令集体系结构是公开开发的: 20 生更改---有时以不兼容的方式对以前的草案进行更改。这种灵活性可能会给RISC-V Linux 22 们希望推广同样的规则到即将被内核合并的RISC-V相关代码。 25 ---------------- 26 我们仅接受相关标准已经被RISC-V基金会标准为“已批准”或“已冻结”的扩展或模块的补丁。 [all …]
|
/linux/arch/riscv/ |
H A D | Kconfig.socs | 12 bool "Renesas RISC-V SoCs" 14 This enables support for the RISC-V based Renesas SoCs. 54 bool "T-HEAD RISC-V SoCs" 59 This enables support for the RISC-V based T-HEAD SoCs.
|
/linux/arch/riscv/crypto/ |
H A D | sm4-riscv64-zvksed-zvkb.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // This file is dual-licensed, meaning that you can use it under your 40 // The generated code of this file depends on the following RISC-V extensions: 41 // - RV64I 42 // - RISC-V Vector ('V') with VLEN >= 128 43 // - RISC-V Vector SM4 Block Cipher extension ('Zvksed') 44 // - RISC-V Vector Cryptography Bit-manipulation extension ('Zvkb') 57 vle32.v v1, (a0) 58 vrev8.v v1, v1 62 vle32.v v2, (t0) [all …]
|
H A D | aes-riscv64-zvkned-zvkb.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // This file is dual-licensed, meaning that you can use it under your 39 // The generated code of this file depends on the following RISC-V extensions: 40 // - RV64I 41 // - RISC-V Vector ('V') with VLEN >= 128 42 // - RISC-V Vector AES block cipher extension ('Zvkned') 43 // - RISC-V Vector Cryptography Bit-manipulation extension ('Zvkb') 50 #include "aes-macros.S" 63 // LEN32 = number of blocks, rounded up, in 32-bit words. 68 // Create a mask that selects the last 32-bit word of each 128-bit [all …]
|
H A D | aes-riscv64-zvkned-zvbb-zvkg.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // This file is dual-licensed, meaning that you can use it under your 39 // The generated code of this file depends on the following RISC-V extensions: 40 // - RV64I 41 // - RISC-V Vector ('V') with VLEN >= 128 && VLEN < 2048 42 // - RISC-V Vector AES block cipher extension ('Zvkned') 43 // - RISC-V Vector Bit-manipulation extension ('Zvbb') 44 // - RISC-V Vector GCM/GMAC extension ('Zvkg') 51 #include "aes-macros.S" 64 // v1-v15 contain the AES round keys, but they are used for temporaries before [all …]
|
H A D | ghash-riscv64-zvkg.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // This file is dual-licensed, meaning that you can use it under your 40 // The generated code of this file depends on the following RISC-V extensions: 41 // - RV64I 42 // - RISC-V Vector ('V') with VLEN >= 128 43 // - RISC-V Vector GCM/GMAC extension ('Zvkg') 61 vle32.v v1, (ACCUMULATOR) 62 vle32.v v2, (KEY) 64 vle32.v v3, (DATA) 67 addi LEN, LEN, -16 [all …]
|
H A D | aes-macros.S | 1 /* SPDX-License-Identifier: Apache-2.0 OR BSD-2-Clause */ 3 // This file is dual-licensed, meaning that you can use it under your 41 // This file contains macros that are shared by the other aes-*.S files. The 42 // generated code of these macros depends on the following RISC-V extensions: 43 // - RV64I 44 // - RISC-V Vector ('V') with VLEN >= 128 45 // - RISC-V Vector AES block cipher extension ('Zvkned') 49 // - If AES-128, loads round keys into v1-v11 and jumps to \label128. 50 // - If AES-192, loads round keys into v1-v13 and jumps to \label192. 51 // - If AES-256, loads round keys into v1-v15 and continues onwards. [all …]
|
/linux/drivers/media/pci/cx88/ |
H A D | cx88-alsa.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include "cx88-reg.h" 22 #include <linux/dma-mapping.h> 37 chip->core->name, ##arg); \ 41 * Data type declarations - Can be moded to a header file later 46 struct cx88_riscmem risc; member 81 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ 115 struct cx88_audio_buffer *buf = chip->buf; in _cx88_start_audio_dma() 116 struct cx88_core *core = chip->core; in _cx88_start_audio_dma() 119 /* Make sure RISC/FIFO are off before changing FIFO/RISC settings */ in _cx88_start_audio_dma() [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-riscv-intc.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 2017-2018 SiFive 8 #define pr_fmt(fmt) "riscv-intc: " fmt 31 unsigned long cause = regs->cause & ~CAUSE_IRQ_FLAG; in riscv_intc_irq() 46 * On RISC-V systems local interrupts are masked or unmasked by writing 54 if (IS_ENABLED(CONFIG_32BIT) && d->hwirq >= BITS_PER_LONG) in riscv_intc_irq_mask() 55 csr_clear(CSR_IEH, BIT(d->hwirq - BITS_PER_LONG)); in riscv_intc_irq_mask() 57 csr_clear(CSR_IE, BIT(d->hwirq)); in riscv_intc_irq_mask() 62 if (IS_ENABLED(CONFIG_32BIT) && d->hwirq >= BITS_PER_LONG) in riscv_intc_irq_unmask() 63 csr_set(CSR_IEH, BIT(d->hwirq - BITS_PER_LONG)); in riscv_intc_irq_unmask() [all …]
|