@@ -10,13 +10,13 @@ use super::super::riscv::imply_features;
1010use super::auxvec;
1111use crate::detect::{Feature, bit, cache};
1212
13- // See <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/prctl.h?h=v6.15 >
13+ // See <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/prctl.h?h=v6.16 >
1414// for runtime status query constants.
1515const PR_RISCV_V_GET_CONTROL: libc::c_int = 70;
1616const PR_RISCV_V_VSTATE_CTRL_ON: libc::c_int = 2;
1717const PR_RISCV_V_VSTATE_CTRL_CUR_MASK: libc::c_int = 3;
1818
19- // See <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/riscv/include/uapi/asm/hwprobe.h?h=v6.15 >
19+ // See <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/riscv/include/uapi/asm/hwprobe.h?h=v6.16 >
2020// for riscv_hwprobe struct and hardware probing constants.
2121
2222#[repr(C)]
@@ -98,6 +98,7 @@ const RISCV_HWPROBE_EXT_ZVFBFWMA: u64 = 1 << 54;
9898const RISCV_HWPROBE_EXT_ZICBOM: u64 = 1 << 55;
9999const RISCV_HWPROBE_EXT_ZAAMO: u64 = 1 << 56;
100100const RISCV_HWPROBE_EXT_ZALRSC: u64 = 1 << 57;
101+ const RISCV_HWPROBE_EXT_ZABHA: u64 = 1 << 58;
101102
102103const RISCV_HWPROBE_KEY_CPUPERF_0: i64 = 5;
103104const RISCV_HWPROBE_MISALIGNED_FAST: u64 = 3;
@@ -138,7 +139,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
138139 // Use auxiliary vector to enable single-letter ISA extensions.
139140 // The values are part of the platform-specific [asm/hwcap.h][hwcap]
140141 //
141- // [hwcap]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/riscv/include/uapi/asm/hwcap.h?h=v6.15
142+ // [hwcap]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/riscv/include/uapi/asm/hwcap.h?h=v6.16
142143 let auxv = auxvec::auxv().expect("read auxvec"); // should not fail on RISC-V platform
143144 let mut has_i = bit::test(auxv.hwcap, (b'i' - b'a').into());
144145 #[allow(clippy::eq_op)]
@@ -233,6 +234,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
233234 enable_feature(Feature::zalrsc, test(RISCV_HWPROBE_EXT_ZALRSC));
234235 enable_feature(Feature::zaamo, test(RISCV_HWPROBE_EXT_ZAAMO));
235236 enable_feature(Feature::zawrs, test(RISCV_HWPROBE_EXT_ZAWRS));
237+ enable_feature(Feature::zabha, test(RISCV_HWPROBE_EXT_ZABHA));
236238 enable_feature(Feature::zacas, test(RISCV_HWPROBE_EXT_ZACAS));
237239 enable_feature(Feature::ztso, test(RISCV_HWPROBE_EXT_ZTSO));
238240
0 commit comments