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

Heiko Stuebner heiko at sntech.de
Sun May 21 04:47:13 PDT 2023


From: Heiko Stuebner <heiko.stuebner at 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




More information about the linux-riscv mailing list