[PATCH v5 0/3] arch/riscv: Add bitrev.h file to support rev8 and brev8
Jinjie Ruan
ruanjinjie at huawei.com
Tue Apr 21 06:07:49 PDT 2026
Add bitrev.h file to support rev8 and brev8 for riscv.
Tested functionally on riscv64 QEMU with:
"-M virt,acpi=on,zbkb=true,zbb=true"
Changes in v5:
- Rename NEED_BYTE_REV_TABLE to GENERIC_BITREVERSE.
- Add help text and make GENERIC_BITREVERSE depends on BITREVERSE, and
use def_bool.
- Split into three patches.
- Add suggested-by.
Changes in v4:
- Update the riscv implementation as David suggested.
- Add new config called NEED_BYTE_REV_TABLE as David suggested to avoid
bloating the .data section for architectures that have full hardware
bit-reverse support and don't need the table.
Changes in v3:
- Fix the build issue by remving the CONFIG_HAVE_ARCH_BITREVERSE macro
for byte_rev_table.
- Update the riscv implementation as David suggested.
- Add Reviwed-by.
Changes in v2:
- Define generic __bitrev8/16/32 for reuse in riscv.
Jinjie Ruan (3):
lib/bitrev: Introduce GENERIC_BITREVERSE and cleanup Kconfig
bitops: Define generic __bitrev8/16/32 for reuse
arch/riscv: Add bitrev.h file to support rev8 and brev8
arch/riscv/Kconfig | 2 ++
arch/riscv/include/asm/bitrev.h | 51 +++++++++++++++++++++++++++
include/asm-generic/bitops/__bitrev.h | 25 +++++++++++++
include/linux/bitrev.h | 20 +++--------
lib/Kconfig | 18 ++++++++++
lib/bitrev.c | 4 +--
6 files changed, 102 insertions(+), 18 deletions(-)
create mode 100644 arch/riscv/include/asm/bitrev.h
create mode 100644 include/asm-generic/bitops/__bitrev.h
--
2.34.1
More information about the linux-riscv
mailing list