[PATCH 0/5] riscv: optimize string functions and add kunit tests
Feng Jiang
jiangfeng at kylinos.cn
Tue Jan 6 18:35:12 PST 2026
This series introduces optimized assembly implementations for several
string functions on the RISC-V architecture (strnlen, strchr, and strrchr).
To ensure correctness and prevent regressions, it also extends the
string_kunit test suite with new cases.
The patchset is organized as follows:
- Patches 1-2: Enhance lib/string_kunit.c with new test cases for
strlen and strnlen to establish a baseline for verification.
- Patches 3-5: Provide the RISC-V specific optimized implementations
for strnlen, strchr, and strrchr.
Testing:
All patches have been verified using the KUnit framework on QEMU
virt machine (riscv64). All string-related tests passed.
Changes:
- v1: Initial submission.
---
Feng Jiang (5):
lib/string_kunit: add test case for strlen
lib/string_kunit: add test case for strnlen
riscv: lib: add strnlen implementation
riscv: lib: add strchr implementation
riscv: lib: add strrchr implementation
arch/riscv/include/asm/string.h | 9 ++
arch/riscv/lib/Makefile | 3 +
arch/riscv/lib/strchr.S | 35 +++++++
arch/riscv/lib/strnlen.S | 164 ++++++++++++++++++++++++++++++++
arch/riscv/lib/strrchr.S | 37 +++++++
arch/riscv/purgatory/Makefile | 11 ++-
lib/tests/string_kunit.c | 53 +++++++++++
7 files changed, 311 insertions(+), 1 deletion(-)
create mode 100644 arch/riscv/lib/strchr.S
create mode 100644 arch/riscv/lib/strnlen.S
create mode 100644 arch/riscv/lib/strrchr.S
--
2.25.1
More information about the linux-riscv
mailing list