[PATCH v2 0/3] RISC-V: Export Zba, Zbb to usermode via hwprobe

Evan Green
2023-05-09T18:25:16Z

This change detects the presence of Zba, Zbb, and Zbs extensions and exports
them per-hart to userspace via the hwprobe mechanism. Glibc can then use
these in setting up hwcaps-based library search paths.

There's a little bit of extra housekeeping here: the first change adds
Zba and Zbs to the set of extensions the kernel recognizes, and the second
change starts tracking ISA features per-hart (in addition to the ANDed
mask of features across all harts which the kernel uses to make
decisions). Now that we track the ISA information per-hart, we could
even fix up /proc/cpuinfo to accurately report extension per-hart,
though I've left that out of this series for now.

Changes in v2:
- Add Zbs as well
- Add blank line before if in riscv_fill_hwcap() (Conor)
- Fixed typo s/supporte/supported/ (Conor)
- Fixed copypasta s/IMA_ZBB/EXT_ZBB/ (Conor)
- Added Zbs

Evan Green (3):
RISC-V: Add Zba, Zbs extension probing
RISC-V: Track ISA extensions per hart
RISC-V: hwprobe: Expose Zba, Zbb, and Zbs

Documentation/riscv/hwprobe.rst | 10 ++++++
arch/riscv/include/asm/cpufeature.h | 10 ++++++
arch/riscv/include/asm/hwcap.h | 2 ++
arch/riscv/include/uapi/asm/hwprobe.h | 3 ++
arch/riscv/kernel/cpu.c | 2 ++
arch/riscv/kernel/cpufeature.c | 20 +++++++----
arch/riscv/kernel/sys_riscv.c | 48 +++++++++++++++++++++++----
7 files changed, 82 insertions(+), 13 deletions(-)

--
2.25.1