A strong May for the RISC-V software stack: 473 commits across 12 projects. The most active projects were LLVM (RISC-V) (196), QEMU (RISC-V) (81), Linux Kernel (RISC-V) (71). ISA extension work touched QC_E_ADDI, QC_E_J, QC_E_LI, Smnpm, Smstateen, Ssnpm, Svadu, Zaamo across the software stack. Virtualisation saw 21 KVM-related patches. Most-discussed mailing list thread: "RISC-V: frm/mode-switch: remove dubious frm edge insertion before call_insn" (GCC (RISC-V), 12 replies).
RISC-V International
The spec repos saw 28 commits this month, led by ISA Manual with 26 commits.
Spec Repository Activity
Repository
Commits
Contributors
ISA Manual
26
16
SBI Spec
1
1
ELF psABI
1
1
Linux Kernel (RISC-V)
71
Commits
33
Contributors
4665
Lines Added
671
Lines Removed
A productive month for Linux Kernel (RISC-V) with 71 commits from 33 contributors. Inochi Amaoto was the most active contributor with 7 commits. New feature work included 29 commits: "RISC-V: KVM: add KVM_CAP_RISCV_MP_STATE_RESET"; "riscv: dts: sophgo: Add initial device tree of Sophgo SRD3-10". Platform and DT work accounted for 21 commits. KVM and virtualisation received 9 patches. Work on Smstateen accounted for 9 commits.
29 New features & support21 Device tree / platform support9 KVM / Virtualisation9 ISA extensions4 Interrupt controllers (AIA/APLIC/PLIC)4 Bug fixes4 Cleanup & refactoring1 Vector extension (RVV)
A quieter month for OpenSBI, with 12 commits from 7 contributors. Leading the charge was Anup Patel with 5 commits. Work on Zaamo, Zicntr accounted for 3 commits. The interrupt subsystem got 1 patch of attention this month.
4 Device tree / platform support3 ISA extensions2 Bug fixes1 Interrupt controllers (AIA/APLIC/PLIC)
Notable Changes
lib: sbi: hart: Detect existence of cycle and instret CSRs for Zicntr (7e31dc8052, Yao Zi)
lib: utils/mpxy: Remove p2a_db_index from RPMI system MSI attributes (f3cce5b97f, Anup Patel)
lib: utils/mailbox: Parse A2P doorbell value from DT (and 2 more) (8fadfebdd1, Anup Patel)
lib: utils: fdt: Claim Zicntr if time CSR emulation is possible (60c3f97de8, Yao Zi)
lib: Emulate AMO instructions when Zaamo is not available (8a3071222a, Chao-ying Fu)
A productive month for QEMU (RISC-V) with 81 commits from 12 contributors. Top contributor: Paolo Bonzini with 27 commits. Vector extension support moved forward with 12 commits. KVM and virtualisation received 10 patches. New feature work included 10 commits: "kvm: Introduce kvm_arch_pre_create_vcpu()"; "target/riscv: add more RISCVCPUDef fields". Bug fixes accounted for 7 commits (8%).
12 Vector extension (RVV)10 KVM / Virtualisation10 New features & support7 Bug fixes4 Device tree / platform support3 ISA extensions1 Security & memory safety fixes
Notable Changes
target/riscv: rvv: Apply vext_check_input_eew to vector indexed load/store instructions (and 6 more) (db21c3eb05, Max Chou)
hw/riscv/virt-acpi-build: Add support for RIMT (cd18dbbf9d, Sunil V L)
GCC (RISC-V) had a solid month with 61 commits from 15 contributors. Leading the charge was Jeff Law with 13 commits. New feature work included 15 commits: "RISC-V: Add minimal support of double trap extension 1.0"; "[RISC-V] Add andi+bclr synthesis". ISA extension work spanned 12 commits, touching Smnpm, Ssnpm, Svadu. RVV work continued with 9 commits touching vector-related code. Compiler backend and code generation improvements accounted for 9 commits. The thread "RISC-V: frm/mode-switch: remove dubious frm edge insertion before call_insn" generated notable discussion with 12 replies.
15 New features & support12 ISA extensions9 Vector extension (RVV)9 Compiler backend / code generation5 Bug fixes3 Cleanup & refactoring2 Performance optimisations1 KVM / Virtualisation
Notable Changes
[PATCH v2 2/2] MIPS p8700 doesn't have vector extension and added the dummies reservation for the same. (18f272ec33, Umesh Kalappa)
[PATCH v2 1/2] The following changes enable P8700 processor for RISCV and P8700 is a high-performance processor from MIPS by extending RISCV with custom instructions (1186a2bd6e, Umesh Kalappa)
RISC-V: Add minimal support of double trap extension 1.0 (077cdc9dc0, Jerry Zhang Jian)
RISC-V: Minimal support for ssnpm, smnpm and smmpm extensions. (and 2 more) (7e5f5fd101, Dongyan Chen)
RISC-V: Add augmented hypervisor series extensions. (0cbace3b14, Jiawei)
RISC-V: Add new operand constraint: cR (c9eb473fb9, Kito Cheng)
RISC-V: Leverage vaadd.vv for signed standard name avg_ceil (and 10 more) (6bcd522438, Pan Li)
[PATCH] RISC-V: Recognized svadu and svade extension (aed2a447c7, Mingzhu Yan)
RISC-V: Since the loop increment i++ is unreachable, the loop body will never execute more than once (55cfd1c8fa, Jin Ma)
RISC-V: Support Zilsd code gen (and 8 more) (a3e78dda4d, Kito Cheng)
It was a busy month in LLVM (RISC-V) land, with 196 commits from 38 contributors. That's +35,047/-10,664 lines of churn. Top contributor: Craig Topper with 42 commits. New feature work included 74 commits: "[RISCV] Add shlcofideleg extension (#141572)"; "[RISCV] Add ORC_B to SimplifyDemandedBitsForTargetNode. (#141975)". ISA extension work spanned 47 commits, touching QC_E_ADDI, QC_E_J, QC_E_LI, Zdinx, Zicbop, Zicsr. Backend and code generation work was the biggest theme at 40 commits.
74 New features & support47 ISA extensions47 Cleanup & refactoring40 Compiler backend / code generation14 Bug fixes13 Vector extension (RVV)4 Performance optimisations1 Interrupt controllers (AIA/APLIC/PLIC)
Notable Changes
[RISCV] Add Andes XAndesVPackFPH (Andes Vector Packed FP16) extension. (#138827) (9e27db0a50, Jim Lin)
[RISCV] Add Andes XAndesVDot (Andes Vector Dot Product) extension. (#139849) (2a8960e48b, Jim Lin)
[IA][RISCV] Add support for vp.load/vp.store with shufflevector (#135445) (63fcce6611, Min-Yih Hsu)
[RISCV][TII] Add and use new hook to simplify/canonicalize instructions after MachineCopyPropagation (#137973) (52b345d036, Alex Bradbury)
[RISCV][MC] Add support for Q extension (#139369) (1e503d08e1, Iris Shi)
[LV][EVL] Introduce the EVLIndVarSimplify Pass for EVL-vectorized loops (#131005) (0ab67ec191, Min-Yih Hsu)
[RISCV] Migrate getConstant indexed insert/extract subvector to new API (#139111) (54bb2295c3, Philip Reames)
[RISCV] Use RISCVRegisterInfo::isRVVRegClass to replace IsScalableVector in storeRegToStackSlot/loadRegFromStackSlot. NFC (#139979) (426573332c, Craig Topper)
[RISCV][Scheduler] Split `UnsupportedSchedZfa` by other fp extensions (#140186) (1c2c02c8cb, Iris Shi)
[DAG] Add wrappers for insert_vector_elt and extract_vector_elt [nfc] (#139141) (80370465d9, Philip Reames)
A steady month for Binutils (RISC-V) with 15 commits from 6 contributors. Jiawei was the most active contributor with 5 commits. New feature work included 9 commits: "RISC-V: Add support for RISC-V Profiles 23."; "RISC-V: Add support for RISC-V Profiles 20/22.". RVV work continued with 2 commits touching vector-related code. Virtualisation work accounted for 1 patch, continuing to mature RISC-V KVM support.
9 ISA extensions9 New features & support2 Vector extension (RVV)1 KVM / Virtualisation
RISC-V: Add implication from the XTheadZvamo extension (and 4 more) (be28a26aeb, Tsukasa OI)
RISC-V: Add support for RISC-V Profiles 23. (and 4 more) (a3d6596ecf, Jiawei)
RISC-V: Add zilsd & zclsd support (bbac5532cc, dysun)
RISC-V: Support Zce 1.0 (b304edbeb6, Jerry Zhang Jian)
Reduce rs_align_code memory for small alignments (5e5f37ed00, Alan Modra)
elf symbol size (bcbba25dfc, Alan Modra)
Top Contributors
Author
Commits
Jiawei
5
Tsukasa OI
5
Alan Modra
2
dysun
1
Jerry Zhang Jian
1
Chao-ying Fu
1
U-Boot (RISC-V)
18
Commits
3
Contributors
511
Lines Added
100
Lines Removed
U-Boot (RISC-V) kept moving with 18 commits from 3 contributors. Most of the work came from Yao Zi (12 of 18 commits, 66%). Board and device tree support got 8 commits.
8 Device tree / platform support5 New features & support1 Bug fixes
Notable Changes
board: thead: licheepi4a: Enable SPL support (38ed760bc9, Yao Zi)
riscv: lib: Split out support for T-Head cache management operations (3dbff9eecc, Yao Zi)
riscv: dts: jh7110: override syscrg assigned clock rates with defaults (bbf5f79bba, E Shattow)
riscv: Access gd with inline assembly when building with LTO or Clang (307666be28, Yao Zi)
riscv: starfive: jh7110: move uart0 clock frequency to config header (97833f4cf6, E Shattow)
riscv: dts: th1520: Complete clock tree (and 5 more) (ff6e20c32f, Yao Zi)
zkvm: remove schmerik from maintainers list (77876b5233, Erik Kaneda)
Top Contributors
Author
Commits
Erik Kaneda
1
OpenOCD (RISC-V)
5
Commits
2
Contributors
79
Lines Added
59
Lines Removed
Not the busiest month for OpenOCD (RISC-V): 5 commits from 2 contributors. Antonio Borneo was the driving force, authoring 4 of 5 commits (80%).
1 Bug fixes
Notable Changes
adapter: list supported transports beside adapter name (da50873d5e, Antonio Borneo)
transport: allow transport name jtag/swd for hla and dapdirect (c1c4d489df, Antonio Borneo)
stlink: simplify the use of deprecated HLA transport (420f637cab, Antonio Borneo)
target: armv7a: drop command 'cache_config l2x' (d71ed4f3bc, Antonio Borneo)
doc/openocd: Fix Tcl spelling (98c95df228, Marc Schink)
Top Contributors
Author
Commits
Antonio Borneo
4
Marc Schink
1
OpenBLAS (RISC-V)
6
Commits
2
Contributors
1957
Lines Added
31
Lines Removed
Not the busiest month for OpenBLAS (RISC-V): 6 commits from 2 contributors. guoyuanplct dominated with 5/6 commits (83%). 1 commit targeted performance improvements.
2 New features & support1 ISA extensions1 Bug fixes1 Performance optimisations
Notable Changes
kernel/riscv64:Added support for omatcopy on riscv64. (4d213653d8, guoyuanplct)
kernel/riscv64:Fixed the bug of openblas_utest_ext failing in c/zgemv and some c/zgbmv tests: (9a7e3f102b, guoyuanplct)
Optimized the axpby function. (45fd2d9b07, guoyuanplct)
add shgemm for RISCV_ZVL128B (2996c25c94, Srangrang)
Format Code (be9f7550b5, guoyuanplct)
del lines (d2003dc886, guoyuanplct)
Top Contributors
Author
Commits
guoyuanplct
5
Srangrang
1
Linux Kernel Docs & DT (RISC-V)
4
Commits
2
Contributors
29
Lines Added
0
Lines Removed
Minimal activity in Linux Kernel Docs & DT (RISC-V): 4 commits from 2 contributors. Cyan Yang dominated with 3/4 commits (75%).
4 New features & support4 Device tree / platform support3 ISA extensions