The RISC-V open source ecosystem logged 306 commits across 11 projects in July 2024. LLVM (RISC-V) led with 177 commits (57%). Also active: Linux Kernel (RISC-V) (48), QEMU (RISC-V) (34), OpenSBI (16). Software support advanced for Smcntrpmf, Zacas, Zawrs, Zbc, Zbkb, Zfhmin, Zvfhmin.
RISC-V International
The spec repos saw 71 commits this month, led by ISA Manual with 50 commits.
Spec Repository Activity
Repository
Commits
Contributors
ISA Manual
50
12
Profiles
9
1
Debug Spec
7
2
ELF psABI
5
4
Linux Kernel (RISC-V)
48
Commits
32
Contributors
1686
Lines Added
412
Lines Removed
Linux Kernel (RISC-V) saw healthy activity with 48 commits from 32 contributors. Charlie Jenkins was the most active contributor with 4 commits. New feature work included 14 commits: "riscv: enable HAVE_ARCH_STACKLEAK"; "RISC-V: ACPI: Enable SPCR table for console output on RISC-V". Extension support saw 7 commits covering Zawrs, Zbc. Platform and DT work accounted for 6 commits. Optimisation efforts accounted for 5 commits.
14 New features & support7 ISA extensions6 Device tree / platform support5 Performance optimisations2 Security & memory safety fixes2 Bug fixes1 KVM / Virtualisation1 Vector extension (RVV)1 Cleanup & refactoring
Notable Changes
riscv, bpf: Add 12-argument support for RV64 bpf trampoline (and 2 more) (6801b0aef7, Pu Lehui)
riscv: Introduce vendor variants of extension helpers (and 2 more) (0f24254111, Charlie Jenkins)
ACPI: RISCV: Add NUMA support based on SRAT and SLIT (eabd9db64e, Haibo Xu)
riscv: Optimize crc32 with Zbc extension (a43fe27d65, Xiao Wang)
riscv: Add Zawrs support for spinlocks (b8ddb0df30, Christoph Müllner)
riscv: cpufeature: Extract common elements from extension checking (d4c8d79f51, Charlie Jenkins)
RISC-V: ACPI: Enable SPCR table for console output on RISC-V (38738947db, Sia Jee Heng)
mm: implement update_mmu_tlb() using update_mmu_tlb_range() (8f65aa3223, Bang Li)
OpenSBI saw moderate activity with 16 commits from 6 contributors. Leading the charge was Anup Patel with 6 commits. New feature work included 6 commits: "lib: sbi: Introduce an early console buffer for caching early prints"; "include: sbi: Add macros to create FIFO as local or global variable". 1 commit targeted performance improvements.
6 New features & support1 ISA extensions1 Performance optimisations1 Device tree / platform support
Notable Changes
lib: utils/fdt: Add support for parsing riscv,isa-extensions (f7a92f6b67, Conor Dooley)
lib: sbi: Introduce an early console buffer for caching early prints (and 3 more) (bb7267a07f, Anup Patel)
include: sbi: Add macros to create FIFO as local or global variable (d35c76a766, Anup Patel)
QEMU (RISC-V) saw moderate activity with 34 commits from 12 contributors. Leading the charge was LIU Zhiwei with 11 commits. New feature work included 15 commits: "hw/riscv/virt-acpi-build.c: Add namespace devices for PLIC and APLIC"; "target/riscv: Implement privilege mode filtering for cycle/instret". Work on Smcntrpmf, Zawrs accounted for 12 commits. Virtualisation work accounted for 1 patch, continuing to mature RISC-V KVM support.
15 New features & support12 ISA extensions2 Device tree / platform support1 KVM / Virtualisation1 Interrupt controllers (AIA/APLIC/PLIC)1 Compiler backend / code generation1 Bug fixes
It was a busy month in LLVM (RISC-V) land, with 177 commits from 38 contributors. Notably, more code was removed than added (+17,714/-21,483). Craig Topper was the most active contributor with 51 commits. New feature work included 40 commits: "[RISCV] Add isel special case for (and (srl X, c2), c1) -> (slli_uw (srli x, c2+c3), c3). (#100966)"; "[RISCV] Add more srli+slli.uw tests cases for #100936. NFC". Code generation improvements dominated with 35 commits. Vector extension support moved forward with 25 commits.
40 New features & support35 Compiler backend / code generation32 Cleanup & refactoring25 Vector extension (RVV)19 ISA extensions10 Bug fixes2 Performance optimisations
Notable Changes
[RISCV] Implement Intrinsics Support for XCValu Extension in CV32E40P (#85603) (56f0ecd6db, realqhc)
[RISCV] Teach fillUpExtensionSupportForSplat to handle nxvXi64 VMV_V_X_VL on RV32. (#99251) (d85f1054fb, Craig Topper)