[PATCH v2 0/5] Add Zilsd/Zclsd support in hwprobe and KVM

Pincheng Wang pincheng.plct at isrc.iscas.ac.cn
Tue Aug 26 09:29:34 PDT 2025


Hi all,

This is v2 of a short series that adds kernel support for the ratified
Zilsd (Load/Store pair) and Zclsd (Compressed Load/Store pair) RISC-V
ISA extensions. The series enables kernel-side exposure so user-space
(for example glibc) can detect and use these extensions via hwprobe and
runtime checks.

Patches:
- Patch 1:Add device tree bindings documentation for Zilsd and Zclsd.
- Patch 2: Extend RISC-V ISA extension string parsing to recognize them.
- Patch 3: Export Zilsd and Zclsd via riscv_hwprobe.
- Patch 4: Allow KVM guests to use them.
- Patch 5: Add KVM selftests.

Changes in v2:
- Device-tree schema: simplified the rv64 validation for Zilsd by
  removing a redundant `contais: const: zilsd` in the `if` clause; the
  simpler `if (riscv, isa-base contains rv64i) then (riscv,
  isa-extension not contains zilsd)` form is used instead. Behaviour is
  unchanged, and the logic is cleaner.
- Device-tree schema: corrected Zclsd dependency to require both Zilsd
  and Zca (previous `anyOf` was incorrect; now both are enforced).
- Commit message typo fixed: "dt-bidings" -> "dt-bindings" in the Patch
  1 commit subject.

The v2 changes are documentation/schema corrections in extensions.yaml.
No functional changes were made to ISA parsing, hwprobe syscall, KVM
guest support or the selftests beyond ensuring the binding correctly
documents and validates the extension relationships.

Please review v2 and advise if futher changes are needed.

Thanks,
Pincheng Wang 

Pincheng Wang (5):
  dt-bindings: riscv: add Zilsd and Zclsd extension descriptions
  riscv: add ISA extension parsing for Zilsd and Zclsd
  riscv: hwprobe: export Zilsd and Zclsd ISA extensions
  riscv: KVM: allow Zilsd and Zclsd extensions for Guest/VM
  KVM: riscv: selftests: add Zilsd and Zclsd extension to get-reg-list
    test

 Documentation/arch/riscv/hwprobe.rst          |  8 +++++
 .../devicetree/bindings/riscv/extensions.yaml | 36 +++++++++++++++++++
 arch/riscv/include/asm/hwcap.h                |  2 ++
 arch/riscv/include/uapi/asm/hwprobe.h         |  2 ++
 arch/riscv/include/uapi/asm/kvm.h             |  2 ++
 arch/riscv/kernel/cpufeature.c                | 24 +++++++++++++
 arch/riscv/kernel/sys_hwprobe.c               |  2 ++
 arch/riscv/kvm/vcpu_onereg.c                  |  2 ++
 .../selftests/kvm/riscv/get-reg-list.c        |  6 ++++
 9 files changed, 84 insertions(+)

-- 
2.39.5




More information about the linux-riscv mailing list