On 6/27/24 3:03 PM, Richard Henderson wrote:
With recent linux kernels, there is a syscall to probe for various
ISA extensions. These bits were phased in over several kernel
releases, so we still require checks for symbol availability.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
meson.build | 6 ++++++
util/cpuinfo-riscv.c | 26 ++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
diff --git a/meson.build b/meson.build
index 97e00d6f59..58afd0125d 100644
--- a/meson.build
+++ b/meson.build
@@ -2837,6 +2837,12 @@ have_cpuid_h = cc.links('''
}''')
config_host_data.set('CONFIG_CPUID_H', have_cpuid_h)
+# Don't bother to advertise asm/hwprobe.h for old versions that do
+# not contain RISCV_HWPROBE_EXT_ZBA.
+config_host_data.set('CONFIG_ASM_HWPROBE_H',
+ cc.has_header_symbol('asm/hwprobe.h',
+ 'RISCV_HWPROBE_EXT_ZBA'))
+
FWIW I looked around Linux and I think we can snapshot hwprobe support by
checking for RISCV_HWPROBE_KEY_IMA_EXT_0 (Linux commit 162e4df137c) if we
ever need hwprobe for exts earlier than ZBA (C and V).