mirror_zfs/lib/libspl/include
Tino Reichardt 48cf170d5a Add PPC cpu feature tests for FreeBSD and Linux
Add needed cpu feature tests for powerpc architecture.

Overview:
zfs_altivec_available() - needed by RAID-Z
zfs_vsx_available()     - needed by BLAKE3
zfs_isa207_available()  - needed by SHA2

Part 1 - Userspace
- use getauxval() for Linux and elf_aux_info() for FreeBSD
- direct including <sys/auxv.h> fails with double definitions
- so we self define the needed functions and definitions

Part 2 - Kernel space FreeBSD
- use exported cpu_features of <powerpc/cpu.h>

Part 3 - Kernel space Linux
- use cpu_has_feature() function of <asm/cpufeature.h>

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>
Closes #13725
2022-09-16 14:25:53 -07:00
..
os Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
rpc Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
sys Add PPC cpu feature tests for FreeBSD and Linux 2022-09-16 14:25:53 -07:00
assert.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
atomic.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libgen.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libshare.h Make zfs-share service resilient to stale exports 2022-09-09 10:54:16 -07:00
Makefile.am libspl/include: remove unused/empty headers 2022-05-18 12:10:43 -07:00
statcommon.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
stdlib.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
string.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
umem.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
unistd.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zone.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00