| /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 …]
|
| /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/Documentation/devicetree/bindings/iommu/ |
| H A D | riscv,iommu.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 IOMMU Architecture Implementation 10 - Tomasz Jeznach <tjeznach@rivosinc.com> 13 The RISC-V IOMMU provides memory address translation and isolation for 14 input and output devices, supporting per-device translation context, 17 It supports identical translation table format to the RISC-V address 19 Hardware uses in-memory command and fault reporting queues with wired 22 Visit https://github.com/riscv-non-isa/riscv-iommu for more details. [all …]
|
| /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/lib/crypto/riscv/ |
| H A D | sha512-riscv64-zvknhb-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 SHA-2 Secure Hash extension ('Zvknhb') 44 // - RISC-V Vector Cryptography Bit-manipulation extension ('Zvkb') 70 // Do 4 rounds of SHA-512. w0 contains the current 4 message schedule words. 73 // computes 4 more message schedule words. w1-w3 contain the next 3 groups of 4 78 vle64.v VTMP, (K) [all …]
|
| H A D | sha256-riscv64-zvknha_or_zvknhb-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 SHA-2 Secure Hash extension ('Zvknha' or 'Zvknhb') 44 // - RISC-V Vector Cryptography Bit-manipulation extension ('Zvkb') 85 // Do 4 rounds of SHA-256. w0 contains the current 4 message schedule words. 88 // computes 4 more message schedule words. w1-w3 contain the next 3 groups of 4 113 // Load the round constants into K0-K15. [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/perf/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 17 If compiled as a module, it will be called arm-cci. 20 bool "support CCI-400" 25 CCI-400 provides 4 independent event counters counting events related 29 bool "support CCI-500/CCI-550" 33 CCI-500/CCI-550 both provide 8 independent event counters, which can 45 tristate "Arm CMN-600 PMU support" 48 Support for PMU events monitoring on the Arm CMN-600 Coherent Mesh 52 tristate "Arm NI-700 PMU support" 55 Support for PMU events monitoring on the Arm NI-700 Network-on-Chip [all …]
|
| /linux/Documentation/gpu/nova/core/ |
| H A D | falcon.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 interactions of nova-core driver with the Falcon. 12 NVIDIA GPUs embed small RISC-like microcontrollers called Falcon cores, which 15 processor) and SEC2 (the security engine)) and also may integrate a RISC-V core. 16 This core is capable of running both RISC-V and Falcon code. 22 small DMA engine (via the FBIF - "Frame Buffer Interface") to load code from 23 system memory. The nova-core driver must reset and configure the Falcon, load 28 Falcons can run in Non-secure (NS), Light Secure (LS), or Heavy Secure (HS) 32 -------------------------------------------------------- 36 root of trust. For example, the FWSEC-FRTS command (see fwsec.rst) runs on the [all …]
|