|
|
Log in / Subscribe / Register

Add Zawrs support and use it for spinlocks

From:  Heiko Stuebner <heiko-AT-sntech.de>
To:  linux-riscv-AT-lists.infradead.org, palmer-AT-dabbelt.com, paul.walmsley-AT-sifive.com
Subject:  [PATCH v3 0/2] Add Zawrs support and use it for spinlocks
Date:  Sun, 21 May 2023 13:47:13 +0200
Message-ID:  <20230521114715.955823-1-heiko.stuebner@vrull.eu>
Cc:  linux-kernel-AT-vger.kernel.org, christoph.muellner-AT-vrull.eu, David.Laight-AT-ACULAB.COM, Heiko Stuebner <heiko.stuebner-AT-vrull.eu>
Archive-link:  Article

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/9ff54f7e7fcd9...

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



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds