[PATCH v3 0/2] Add Zawrs support and use it for spinlocks

Heiko Stuebner
2023-05-21T11:47:43Z

From: Heiko Stuebner <heiko.stuebner@vrull.eu>

Zawrs [0] was ratified in november 2022 [1], so I've resurrect the patch
adding Zawrs support for spinlocks and adapted it to recent kernel
changes.

Also incorporated are the nice comments David Laight provided on v2.

Changes since v2:
- Rebase on top of 6.4-rc1
- Adapt to changed alternatives Kconfig handling
- Adapt to changed cpufeature extension handling
- Address review comments from David Laight
- better handling for 32/64bit cases (less ifdefery)
- less macros calling macros
- don't duplicate __smp_load_reserved_relaxed in
__smp_load_reserved_aquire

Changes since v1:
- Fixing type checking code for 32/64-bit values
- Adjustments according to the specification change
- Adding "depends on !XIP_KERNEL" to RISCV_ISA_ZAWRS

[0] https://github.com/riscv/riscv-zawrs/blob/main/zawrs.adoc
[1] https://github.com/riscv/riscv-zawrs/commit/9ff54f7e7fcd95cf1b111d2e54276ff1183bcd37

Christoph Müllner (1):
riscv: Add Zawrs support for spinlocks

Heiko Stuebner (1):
riscv: don't include kernel.h into alternative.h

arch/riscv/Kconfig | 10 +++++
arch/riscv/include/asm/alternative.h | 1 -
arch/riscv/include/asm/barrier.h | 64 ++++++++++++++++++++++++++++
arch/riscv/include/asm/errata_list.h | 14 ++++++
arch/riscv/include/asm/hwcap.h | 1 +
arch/riscv/kernel/cpu.c | 1 +
arch/riscv/kernel/cpufeature.c | 1 +
7 files changed, 91 insertions(+), 1 deletion(-)

--
2.39.0