[PATCH v4 0/2] RISC-V: clarify what some RISCV_ISA* config options do & redo Zbb toolchain dependency

Conor Dooley conor at kernel.org
Thu Oct 24 03:19:39 PDT 2024


From: Conor Dooley <conor.dooley at microchip.com>

Since one depends on the other, albeit trivially, here's a v4 of the Zbb
toolchain dep removal alongside the rewording of Kconfig options I'd
sent out before the merge window. I think I like this implementation
better than v1, but I couldn't think of a good name for a "public"
version of __ALTERNATIVE(), so I used it here directly.
Unfortunately "ALTERNATIVE_2_CFG" already exists and I couldn't think of
a good way to name an alternative macro that allows for several config
options that didn't make the distinction sufficiently clear.. Yell
if you have better suggestions than I did.

I am a wee bit "worried" that this makes the Kconfig option confusing as
it isn't immediately obvious if someone is or is not going to get the
toolchain based optimisations.

Cheers,
Conor.

v4:
- rebase since it's been a few months
- change some wording Alex wasn't fond of in patch 1
- remove a left over CONFIG_RISCV_ISA_ZBB_ALT from the v1 implementation
  in patch 2

CC: xiao.w.wang at intel.com
CC: Andrew Jones <ajones at ventanamicro.com>
CC: pulehui at huawei.com
CC: Charlie Jenkins <charlie at rivosinc.com>
CC: Paul Walmsley <paul.walmsley at sifive.com>
CC: Palmer Dabbelt <palmer at dabbelt.com>
CC: Conor Dooley <conor.dooley at microchip.com>
CC: linux-riscv at lists.infradead.org
CC: linux-kernel at vger.kernel.org
CC: Samuel Holland <samuel.holland at sifive.com>
CC: Pu Lehui <pulehui at huaweicloud.com>
CC: Björn Töpel <bjorn at kernel.org>
CC: Andrew Jones <ajones at ventanamicro.com>
CC: Paul Walmsley <paul.walmsley at sifive.com>
CC: Palmer Dabbelt <palmer at dabbelt.com>
CC: linux-riscv at lists.infradead.org

Conor Dooley (2):
  RISC-V: clarify what some RISCV_ISA* config options do
  RISC-V: separate Zbb optimisations requiring and not requiring
    toolchain support

 arch/riscv/Kconfig                    | 38 ++++++++++++++-------------
 arch/riscv/include/asm/arch_hweight.h |  6 ++---
 arch/riscv/include/asm/bitops.h       |  4 +--
 arch/riscv/include/asm/checksum.h     |  3 +--
 arch/riscv/lib/csum.c                 | 21 +++------------
 arch/riscv/lib/strcmp.S               |  5 ++--
 arch/riscv/lib/strlen.S               |  5 ++--
 arch/riscv/lib/strncmp.S              |  5 ++--
 8 files changed, 38 insertions(+), 49 deletions(-)

-- 
2.45.2




More information about the linux-riscv mailing list