[PATCH v5 0/3] arch/riscv: Add bitrev.h file to support rev8 and brev8
Yury Norov
ynorov at nvidia.com
Mon Apr 27 13:18:14 PDT 2026
On Tue, Apr 21, 2026 at 09:07:49PM +0800, Jinjie Ruan wrote:
> 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"
Applied in bitmap-for-next. Thanks!
> 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