March brought 218 commits across 13 projects in the RISC-V stack. LLVM (RISC-V) led with 130 commits (59%). Also active: Linux Kernel (RISC-V) (17), OpenSBI (15), U-Boot (RISC-V) (15). Hardening efforts were visible across the stack, with 16 security-related patches. Software support advanced for QC_C_MULIADD, QC_SHLADD, Smpmpmt, Smstateen, Ssaia, Zalrsc, Zbc, Zbkc. Virtualisation saw 14 KVM-related patches. Most-discussed mailing list thread: "lib: sbi: domain: ensure boot_hartid is assigned (2-patch series)" (OpenSBI, 9 replies).
RISC-V International
RISC-V International is tracking 100 specifications, of which 48 have been ratified. Currently 21 are in the home stretch (freeze/stabilisation/ratification-ready), 8 under active development, and 15 in planning. Specs flagged as "exposed" (at risk of slipping): Confidential VM Extension (CoVE) with I/O. Keep an eye on these. Across RISC-V International, 74 working groups are tracked — 59 actively meeting, 12 running at low activity. New groups being chartered: Performance Events TG, Parameters SIG, Event Trace TG, Logic Analyzer Trace TG, Speculation Barriers TG . The spec repos saw 50 commits this month, led by ISA Manual with 39 commits.
A steady month for Linux Kernel (RISC-V) with 17 commits from 7 contributors. Leading the charge was Lukas Gerlach with 5 commits. Virtualisation work accounted for 14 patches, continuing to mature RISC-V KVM support. Bug fixes dominated: 13/17 commits (76%). A month focused on getting things right. Security dominated the month (11 commits, 64%). Highlights: "irqchip/riscv-rpmi-sysmsi: Fix mailbox channel leak in rpmi_sysmsi_probe()"; "KVM: riscv: Fix Spectre-v1 in PMU counter access". AIA and interrupt controller work accounted for 6 patches.
14 KVM / Virtualisation13 Bug fixes11 Security & memory safety fixes6 Interrupt controllers (AIA/APLIC/PLIC)3 ISA extensions1 New features & support1 Device tree / platform support
OpenSBI saw moderate activity with 15 commits from 7 contributors. Top contributor: Anup Patel with 8 commits. Interrupt controller infrastructure (AIA/APLIC/PLIC/IMSIC) received 8 patches. Bug fixes accounted for 4 commits (26%).
8 Interrupt controllers (AIA/APLIC/PLIC)4 Bug fixes4 New features & support2 Security & memory safety fixes1 ISA extensions1 Cleanup & refactoring1 Device tree / platform support
Notable Changes
lib: utils/irqchip: Add unique_id to plic, aplic, and imsic data (and 2 more) (e82d20122d, Anup Patel)
lib: Use proper add opcode on RV32 with Zalrsc (b5348006e9, Marti Alonso)
lib: sbi_init: Call hart init and timer init before platform early init (4813a20420, Yu-Chien Peter Lin)
Not the busiest month for QEMU (RISC-V): 13 commits from 8 contributors. Bug fixes accounted for 5 commits (38%). RVV work continued with 2 commits touching vector-related code. ISA extension work spanned 1 commit, touching Smpmpmt.
5 Bug fixes2 Vector extension (RVV)1 Security & memory safety fixes1 ISA extensions1 Interrupt controllers (AIA/APLIC/PLIC)1 New features & support1 Cleanup & refactoring1 Device tree / platform support
Notable Changes
target/riscv: Support Smpmpmt extension (58cbdc780b, Jay Chang)
target/riscv: rvv: Fix missing flags merge in probe_pages for cross-page accesses (5568177738, Max Chou)
hw/riscv/riscv-iommu: Free instance_init allocations in instance_finalize (3d39fd35f6, Peter Maydell)
target/riscv: Fix null pointer dereference in cpu_set_exception_base (519f0bdf4c, Djordje Todorovic)
hw/riscv: Remove deprecated 'riscv, delegate' device-tree property (f2af8f0d5d, Philippe Mathieu-Daudé)
fmv: Check DECL_VIRTUAL_P for virtual functions for LTO handling (4ca1de5662, Yangyu Chen)
[RISC-V][PR target/124674] Define OImode in the usual way (33e4afffc8, Jeff Law)
riscv: Fix formating of diagnostic [PR124403] (8ee479c278, Andrew Pinski)
Update copyright years. (e797ddb062, Jakub Jelinek)
Top Contributors
Author
Commits
Yangyu Chen
2
Jeff Law
1
Robin Dapp
1
Jakub Jelinek
1
Andrew Pinski
1
LLVM (RISC-V)
130
Commits
45
Contributors
139842
Lines Added
71485
Lines Removed
LLVM (RISC-V) saw heavy activity with 130 commits from 45 contributors. That's +139,842/-71,485 lines of churn. Leading the charge was Craig Topper with 37 commits. Backend and code generation work was the biggest theme at 43 commits. New feature work included 30 commits: "[RISCV] Avoid creating unnecessary node. Add missing break to switch. NFC (#189511)"; "Enable generic overlapping optimization for memmove (#177885)". Work on QC_C_MULIADD, QC_SHLADD, Zbc, Zbkc, Zdinx, Zibi accounted for 21 commits.
43 Compiler backend / code generation30 New features & support21 ISA extensions21 Cleanup & refactoring15 Vector extension (RVV)11 Bug fixes10 Performance optimisations
Notable Changes
[DAGCombine] Enable div by constant optimization for odd sized vectors before type legalization. (#188313) (0ebef5e5e2, Craig Topper)
[LegalizeVectorOps][RISCV][PowerPC][AArch64][X86] Enable the clmul/clmulr/clmulh expansion code. (#184257) (d20395cfa3, Craig Topper)
[RISCV][MC] Add support of Zvzip extension (#185614) (db7e0daa85, Pengcheng Wang)
[RISCV] Add register group overlap checks to the assembler for vector indexed segment load (#184963) (763de90db4, joshua-arch1)
[RISCV] Add register overlap checks to the assembler for vector indexed segment load (#184569) (f7ca74f600, joshua-arch1)
[RISCV] Add codegen patterns to support short forward branches with immediates (#185643) (696208b72c, quic_hchandel)
[RISCV][TTI] Implement cost of llvm.experimental.vector.extract.last.active (#184067) (5b60283506, Elvis Wang)
[RISCV][P-ext] Support vector ISD::ABS using PABD instructions. (#184822) (bb1d53bbd8, Craig Topper)
[RISCV] Add more extensions to spacemit-x100 (#186351) (c389129bcf, Mark Zhuang)
[RISCV] Add findCommutedOpIndices support for Zvabd (bbe4853a7b, Pengcheng Wang)
[TargetLowering][RISCV] Using index type for step vector in expandVectorFindLastActive (#187984) (494b98236f, Elvis Wang)
[RISCV] Add compress pattern for QC_SHLADD Rd, Rs1, Rd, 4 to QC_C_MULIADD Rd, Rs1, 16 (#188516) (655618305e, Sudharsan Veeravalli)
[RISCV] Refactor lowerBUILD_VECTOR splat opcode selection to avoid duplication. NFC. (#185573) (2410418d06, Jim Lin)
[SelectionDAG] Optimize 32-bit udiv with 33-bit magic constants on 64-bit targets (#181288) (3e24a39357, MITSUNARI Shigeo)
Minimal activity in Binutils (RISC-V): 4 commits. Most of the work came from Alan Modra (4 of 4 commits, 100%).
2 Security & memory safety fixes1 New features & support
Notable Changes
buffer overflow in loongarch_elf_add_sub_reloc_uleb128 (453fdb2d1f, Alan Modra)
gas: only free on exit when --enable-leak-check (eced22e468, Alan Modra)
gas: don't duplicate include of config.h (ca00826680, Alan Modra)
Remove bfd_boolean from gas and gprofng (cc912720b0, Alan Modra)
Top Contributors
Author
Commits
Alan Modra
4
GDB (RISC-V)
10
Commits
3
Contributors
69
Lines Added
62
Lines Removed
A quieter month for GDB (RISC-V), with 10 commits from 3 contributors. Simon Marchi dominated with 8/10 commits (80%).
1 Bug fixes
Notable Changes
gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq (b73d92e2c5, Simon Marchi)
gdb: change gdbarch_print_registers_info parameter to bool (and 5 more) (5452abae84, Simon Marchi)
gdb/riscv: use register number for 'info reg' output format choice (e5425f2687, Andrew Burgess)
gdb/gdbtypes: replace TYPE_SAFE_NAME macro with method (7662807a0b, Simon Marchi)
[gdb/record] Fix syscall exit recording for riscv (a570ac19e3, Tom de Vries)
Top Contributors
Author
Commits
Simon Marchi
8
Tom de Vries
1
Andrew Burgess
1
U-Boot (RISC-V)
15
Commits
7
Contributors
121
Lines Added
1052
Lines Removed
U-Boot (RISC-V) saw moderate activity with 15 commits from 7 contributors. A net deletion month (+121/-1,052) — always satisfying. Hal Feng was the most active contributor with 5 commits. New feature work included 6 commits: "riscv: Add support for BeagleV-Fire"; "doc: board: starfive: Add Xunlong OrangePi RV".
6 New features & support1 Bug fixes1 Device tree / platform support
Notable Changes
riscv: Add support for BeagleV-Fire (b51e59c8b3, Jamie Gibbons)
board: starfive: visionfive2: Add Orange Pi RV selection by product_id (b2c92a7b1f, E Shattow)
board: starfive: visionfive2: Add VisionFive 2 Lite fdt selection (52c382798c, Hal Feng)
eeprom: starfive: Support eeprom data format v3 (and 2 more) (ab4f610deb, Hal Feng)
board: starfive: spl: Support VisionFive 2 Lite (f566788ca1, Hal Feng)
doc: board: starfive: jh7110 common update OPENSBI build env reference (and 2 more) (1edeb52086, E Shattow)
riscv: mpfs: SIFIVE_CLINT and SPL_SIFIVE_CLINT don't exist (12a9c83cba, Heinrich Schuchardt)
riscv: don't imply non-existent CONFIG_IP_DYN (7d5c2834c7, Heinrich Schuchardt)
driver: cache: Remove SiFive PL2 driver (61e2430360, Nick Hu)
sifive: switch to OF_UPSTREAM (4dcff3b572, Andreas Schwab)
riscv: Call bootm_final() (aa5ada5447, Simon Glass)
Top Contributors
Author
Commits
Hal Feng
5
E Shattow
4
Heinrich Schuchardt
2
Simon Glass
1
Jamie Gibbons
1
Nick Hu
1
Andreas Schwab
1
Rust (RISC-V)
2
Commits
1
Contributors
107
Lines Added
88
Lines Removed
A light month for Rust (RISC-V) with 2 commits. Most of the work came from Ralf Jung (2 of 2 commits, 100%). Refactoring work accounted for 1 commit (50%).
1 Cleanup & refactoring
Notable Changes
target specs: rename abi to cfg_abi (40ebcc031d, Ralf Jung)
enum-ify llvm_abiname (6b1487698c, Ralf Jung)
Top Contributors
Author
Commits
Ralf Jung
2
OpenOCD (RISC-V)
1
Commits
1
Contributors
6
Lines Added
1
Lines Removed
Just a single commit landed in OpenOCD (RISC-V) this month.
Notable Changes
server: Make "exit" command behave consistently (0c6fe74351, Jan Matyas)
Top Contributors
Author
Commits
Jan Matyas
1
musl libc (RISC-V)
2
Commits
2
Contributors
26
Lines Added
0
Lines Removed
A light month for musl libc (RISC-V) with 2 commits from 2 contributors.
Notable Changes
riscv: don't define fenv macros for soft float (1969500402, Alex Rønne Petersen)
update syscalls up to linux 6.19 (5c901bb360, Szabolcs Nagy)
Top Contributors
Author
Commits
Alex Rønne Petersen
1
Szabolcs Nagy
1
OpenBLAS (RISC-V)
1
Commits
1
Contributors
13
Lines Added
11
Lines Removed
Just a single commit landed in OpenBLAS (RISC-V) this month. Optimisation efforts accounted for 1 commit.
1 Performance optimisations
Notable Changes
Optimize ZROT_RVV for the non-unit-stride case (aa967ef6ba, daichengrong)