Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/2] riscv: hwprobe: Add Zicbop support
@ 2025-11-18 16:23 Yao Zihong
  2025-11-18 16:23 ` [PATCH v5 1/2] riscv: hwprobe: Expose Zicbop extension and its block size Yao Zihong
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Yao Zihong @ 2025-11-18 16:23 UTC (permalink / raw)
  To: linux-riscv, linux-kernel
  Cc: ajones, alexghiti, shuah, samuel.holland, evan, cleger,
	zihong.plct, zihongyao, zhangyin2018, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti

Changes since v4:
------------------
- Fixed style problems. (Andrew Jones)
- Updated the selftest gating logic: the cbo.inval test is now also
  enabled when `--zicboz-raises-sigill` or `-z` is supplied, instead of
  being skipped when these flags are present. (Andrew Jones)

Changes since v3:
------------------
- Dropped the test for Zicbop absence, as prefetch instructions are
  architecturally defined as hints and should never raise SIGILL.
- Removed `--sigsegv` and `--sigbus` options; these faults should never
  occur on compliant implementations, and the test now handles them
  unconditionally for reporting purposes. (Andrew Jones)
- Split the previous --sigill option into two explicit 
  `--zicbom-raises-sigill` and `--zicboz-raises-sigill` to enable
  extension-specific tests. (Andrew Jones)

Changes since v2:
------------------
- Squashed the previous UAPI/kernel/doc patches(originally 1/4, 2/4, 3/4)
  into a single hwprobe patch for simplicity.
- Selftests:
  * Dropped the `memory` clobber from the prefetch inline asm since it is
    pure hint.
  * Fixed style problems. (Andrew Jones)
  * Merged the standalone prefetch test into 
    `tools/testing/selftests/riscv/hwprobe/cbo.c` (Andrew Jones)
  * Switched to `getopt_long` for option parsing. (Andrew Jones)

Changes since v1:
------------------
- Bumped RISCV_HWPROBE_MAX_KEY (modified 1/4).
- Added documentation for the Zicbop hwprobe bit/key (new 3/4).
- Added a selftest(prefetch.c) for Zicbop (new 4/4).

Hi all,

This patch adds UAPI and kernel plumbing to expose the Zicbop extension
presence and its block size through hwprobe. The interface mirrors
Zicbom/Zicboz. This allows userspace to safely discover and optimize
for Zicbop when available.

Background: Zicbop is mandated by the RVA22U64 profile. Downstream may
combine the presence bit with ZICBOP_BLOCK_SIZE to make profile-level
policy decisions or enable Zicbop-specific optimizations.

Yao Zihong (2):
  riscv: hwprobe: Expose Zicbop extension and its block size
  selftests/riscv: Add Zicbop prefetch test

 Documentation/arch/riscv/hwprobe.rst        |   8 +-
 arch/riscv/include/asm/hwprobe.h            |   2 +-
 arch/riscv/include/uapi/asm/hwprobe.h       |   2 +
 arch/riscv/kernel/sys_hwprobe.c             |   6 +
 tools/testing/selftests/riscv/hwprobe/cbo.c | 165 ++++++++++++++++----
 5 files changed, 152 insertions(+), 31 deletions(-)

-- 
2.47.2


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-11-20 11:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-18 16:23 [PATCH v5 0/2] riscv: hwprobe: Add Zicbop support Yao Zihong
2025-11-18 16:23 ` [PATCH v5 1/2] riscv: hwprobe: Expose Zicbop extension and its block size Yao Zihong
2025-11-18 16:23 ` [PATCH v5 2/2] selftests/riscv: Add Zicbop prefetch test Yao Zihong
2025-11-18 16:45   ` Andrew Jones
2025-11-20 11:23     ` Yao Zihong
2025-11-19 12:30 ` [PATCH v5 0/2] riscv: hwprobe: Add Zicbop support patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox