zfs/lib/libspl/include/sys
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
..
dktp Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
acl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
acl_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
callb.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
cmn_err.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
cred.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
debug.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
dkio.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
dklabel.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
feature_tests.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
inttypes.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
isa_defs.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
kmem.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
kstat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
list.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
list_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
mhd.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
mkdev.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
policy.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
poll.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
priv.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
processor.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
sha2.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
simd.h Add PPC cpu feature tests for FreeBSD and Linux 2022-09-16 14:25:53 -07:00
stack.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
stdtypes.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
string.h Forbid b{copy,zero,cmp}(). Don't include <strings.h> for <string.h> 2022-03-15 15:13:48 -07:00
sunddi.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
systeminfo.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
time.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
trace_spl.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
trace_zfs.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
types.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
types32.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
uio.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vnode.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
wmsum.h Introduce write-mostly sums 2021-05-27 14:27:29 -06:00
zone.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00