mirror_zfs/lib/libspl
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
..
include Add PPC cpu feature tests for FreeBSD and Linux 2022-09-16 14:25:53 -07:00
os Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
assert.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
atomic.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
getexecname.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libspl_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
list.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
Makefile.am autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00
mkdirp.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
page.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
strlcat.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
strlcpy.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
timestamp.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00