simd: detect and surface support for Intel SHA512 extensions

Recent Intel CPUs (starting with Arrow Lake and Lunar Lake) include new
vectorised SHA512 instructions. Detect them and make them available to
the rest of the system.

Note the internal name "sha512ext". This is to disambiguate from other
uses of "sha512".

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Attila Fülöp <attila@fueloep.org>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18233
This commit is contained in:
Rob Norris
2026-02-17 13:55:20 +11:00
committed by Brian Behlendorf
parent 6495dafd58
commit 3547a358fd
4 changed files with 53 additions and 1 deletions
+2
View File
@@ -122,6 +122,8 @@ simd_stat_kstat_data(char *buf, size_t size, void *data)
"vaes", zfs_vaes_available());
off += SIMD_STAT_PRINT(simd_stat_kstat_payload,
"vpclmulqdq", zfs_vpclmulqdq_available());
off += SIMD_STAT_PRINT(simd_stat_kstat_payload,
"sha512ext", zfs_sha512ext_available());
off += SIMD_STAT_PRINT(simd_stat_kstat_payload,
"osxsave", boot_cpu_has(X86_FEATURE_OSXSAVE));