mbox series

[v1,0/3] Remove toolchain dependencies for Zicbom

Message ID 20230108163356.3063839-1-conor@kernel.org (mailing list archive)
Headers show
Series Remove toolchain dependencies for Zicbom | expand

Message

Conor Dooley Jan. 8, 2023, 4:33 p.m. UTC
From: Conor Dooley <conor.dooley@microchip.com>

Hey all,

I've yoinked patch 1 from Drew's series adding support for Zicboz &
attached two more patches here that remove the need for, and then drop
the toolchain support checks for Zicbom. The goal is to remove the need
for checking the presence of toolchain Zicbom support in the work being
done to support non instruction based CMOs [1].

I've tested compliation on a number of different configurations with
the Zicbom config option enabled. The important ones to call out I
guess are:
- clang/llvm 14 w/ LLVM=1 which doesn't support Zicbom atm.
- gcc 11 w/ binutils 2.37 which doesn't support Zicbom atm either.
- clang/llvm 15 w/ LLVM=1 BUT with binutils 2.37's ld. This is the
  configuration that prompted adding the LD checks as cc/as supports
  Zicbom, but ld doesn't [2].
- gcc 12 w/ binutils 2.39 & clang 15 w/ LLVM=1, both of these supported
  Zicbom before and still do.

I also checked building the THEAD errata etc with
CONFIG_RISCV_ISA_ZICBOM disabled, and there were no build issues there
either.

Drew - I took the liberty of dropping the cbo.zero addition from your
patch.

Thanks,
Conor.

1 - https://lore.kernel.org/linux-riscv/fb3b34ae-e35e-4dc2-a8f4-19984a2f58a8@app.fastmail.com/
2 - https://lore.kernel.org/linux-riscv/20221006173520.1785507-1-conor@kernel.org/

CC: Arnd Bergmann <arnd@arndb.de>
CC: Conor Dooley <conor.dooley@microchip.com>
CC: Geert Uytterhoeven <geert+renesas@glider.be>
CC: Heiko Stuebner <heiko@sntech.de>
CC: Guo Ren <guoren@kernel.org>
CC: Andrew Jones <ajones@ventanamicro.com>
CC: Palmer Dabbelt <palmer@dabbelt.com>
CC: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
CC: linux-riscv@lists.infradead.org
CC: linux-riscv@lists.infradead.org

Andrew Jones (1):
  RISC-V: insn-def: Add I-type insn-def

Conor Dooley (2):
  RISC-V: replace cbom instructions with an insn-def
  RISC-V: remove toolchain version checks for Zicbom

 arch/riscv/Kconfig                   |  8 ----
 arch/riscv/Makefile                  |  3 --
 arch/riscv/include/asm/errata_list.h |  3 +-
 arch/riscv/include/asm/insn-def.h    | 58 ++++++++++++++++++++++++++++
 4 files changed, 60 insertions(+), 12 deletions(-)

Comments

Andrew Jones Jan. 9, 2023, 10:33 a.m. UTC | #1
On Sun, Jan 08, 2023 at 04:33:53PM +0000, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Hey all,
> 
> I've yoinked patch 1 from Drew's series adding support for Zicboz &
> attached two more patches here that remove the need for, and then drop
> the toolchain support checks for Zicbom. The goal is to remove the need
> for checking the presence of toolchain Zicbom support in the work being
> done to support non instruction based CMOs [1].
> 
> I've tested compliation on a number of different configurations with
> the Zicbom config option enabled. The important ones to call out I
> guess are:
> - clang/llvm 14 w/ LLVM=1 which doesn't support Zicbom atm.
> - gcc 11 w/ binutils 2.37 which doesn't support Zicbom atm either.
> - clang/llvm 15 w/ LLVM=1 BUT with binutils 2.37's ld. This is the
>   configuration that prompted adding the LD checks as cc/as supports
>   Zicbom, but ld doesn't [2].
> - gcc 12 w/ binutils 2.39 & clang 15 w/ LLVM=1, both of these supported
>   Zicbom before and still do.
> 
> I also checked building the THEAD errata etc with
> CONFIG_RISCV_ISA_ZICBOM disabled, and there were no build issues there
> either.
> 
> Drew - I took the liberty of dropping the cbo.zero addition from your
> patch.

Thanks, LGTM.

For the series,

Reviewed-by: Andrew Jones <ajones@ventanamicro.com>

Thanks,
drew
Palmer Dabbelt Feb. 15, 2023, 2:56 p.m. UTC | #2
On Sun, 8 Jan 2023 16:33:53 +0000, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Hey all,
> 
> I've yoinked patch 1 from Drew's series adding support for Zicboz &
> attached two more patches here that remove the need for, and then drop
> the toolchain support checks for Zicbom. The goal is to remove the need
> for checking the presence of toolchain Zicbom support in the work being
> done to support non instruction based CMOs [1].
> 
> [...]

Applied, thanks!

[1/3] RISC-V: insn-def: Add I-type insn-def
      https://git.kernel.org/palmer/c/6067c3aae52f
[2/3] RISC-V: replace cbom instructions with an insn-def
      https://git.kernel.org/palmer/c/dd23e9535889
[3/3] RISC-V: remove toolchain version checks for Zicbom
      https://git.kernel.org/palmer/c/75c53905f873

Best regards,
patchwork-bot+linux-riscv@kernel.org Feb. 15, 2023, 6:40 p.m. UTC | #3
Hello:

This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Sun,  8 Jan 2023 16:33:53 +0000 you wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Hey all,
> 
> I've yoinked patch 1 from Drew's series adding support for Zicboz &
> attached two more patches here that remove the need for, and then drop
> the toolchain support checks for Zicbom. The goal is to remove the need
> for checking the presence of toolchain Zicbom support in the work being
> done to support non instruction based CMOs [1].
> 
> [...]

Here is the summary with links:
  - [v1,1/3] RISC-V: insn-def: Add I-type insn-def
    https://git.kernel.org/riscv/c/6067c3aae52f
  - [v1,2/3] RISC-V: replace cbom instructions with an insn-def
    https://git.kernel.org/riscv/c/dd23e9535889
  - [v1,3/3] RISC-V: remove toolchain version checks for Zicbom
    https://git.kernel.org/riscv/c/75c53905f873

You are awesome, thank you!