From 8858c729c9bc81976577f72f5996375d255ffe69 Mon Sep 17 00:00:00 2001 From: Mark Ryan Date: Mon, 25 Sep 2023 08:11:46 +0000 Subject: [PATCH] unix: update riscv_hwprobe constants Linux 6.5 enhanced the riscv_hwprobe syscall to detect four new RISC-V extensions, V, Zba, Zbb and Zbs. Update the hwprobe constants in unix so these extensions can be detected by Go programs. Updates golang/go#61416 Change-Id: Id6b4566c5c96fe3429fad54e93d3459cb5317642 Reviewed-on: https://go-review.googlesource.com/c/sys/+/530895 Reviewed-by: Ian Lance Taylor LUCI-TryBot-Result: Go LUCI Reviewed-by: Than McIntosh Auto-Submit: Ian Lance Taylor Reviewed-by: Tobias Klauser --- unix/linux/types.go | 8 ++++++++ unix/ztypes_linux_riscv64.go | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/unix/linux/types.go b/unix/linux/types.go index 25b927938..389eed4bd 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -447,6 +447,10 @@ struct my_can_bittiming_const { #define RISCV_HWPROBE_KEY_IMA_EXT_0 4 #define RISCV_HWPROBE_IMA_FD (1 << 0) #define RISCV_HWPROBE_IMA_C (1 << 1) +#define RISCV_HWPROBE_IMA_V (1 << 2) +#define RISCV_HWPROBE_EXT_ZBA (1 << 3) +#define RISCV_HWPROBE_EXT_ZBB (1 << 4) +#define RISCV_HWPROBE_EXT_ZBS (1 << 5) #define RISCV_HWPROBE_KEY_CPUPERF_0 5 #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) #define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) @@ -5793,6 +5797,10 @@ const ( RISCV_HWPROBE_KEY_IMA_EXT_0 = C.RISCV_HWPROBE_KEY_IMA_EXT_0 RISCV_HWPROBE_IMA_FD = C.RISCV_HWPROBE_IMA_FD RISCV_HWPROBE_IMA_C = C.RISCV_HWPROBE_IMA_C + RISCV_HWPROBE_IMA_V = C.RISCV_HWPROBE_IMA_V + RISCV_HWPROBE_EXT_ZBA = C.RISCV_HWPROBE_EXT_ZBA + RISCV_HWPROBE_EXT_ZBB = C.RISCV_HWPROBE_EXT_ZBB + RISCV_HWPROBE_EXT_ZBS = C.RISCV_HWPROBE_EXT_ZBS RISCV_HWPROBE_KEY_CPUPERF_0 = C.RISCV_HWPROBE_KEY_CPUPERF_0 RISCV_HWPROBE_MISALIGNED_UNKNOWN = C.RISCV_HWPROBE_MISALIGNED_UNKNOWN RISCV_HWPROBE_MISALIGNED_EMULATED = C.RISCV_HWPROBE_MISALIGNED_EMULATED diff --git a/unix/ztypes_linux_riscv64.go b/unix/ztypes_linux_riscv64.go index 83c69c119..1b4c97c32 100644 --- a/unix/ztypes_linux_riscv64.go +++ b/unix/ztypes_linux_riscv64.go @@ -733,6 +733,10 @@ const ( RISCV_HWPROBE_KEY_IMA_EXT_0 = 0x4 RISCV_HWPROBE_IMA_FD = 0x1 RISCV_HWPROBE_IMA_C = 0x2 + RISCV_HWPROBE_IMA_V = 0x4 + RISCV_HWPROBE_EXT_ZBA = 0x8 + RISCV_HWPROBE_EXT_ZBB = 0x10 + RISCV_HWPROBE_EXT_ZBS = 0x20 RISCV_HWPROBE_KEY_CPUPERF_0 = 0x5 RISCV_HWPROBE_MISALIGNED_UNKNOWN = 0x0 RISCV_HWPROBE_MISALIGNED_EMULATED = 0x1