mirror_zfs/include/os/linux/kernel/linux
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
..
blkdev_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
compiler_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
dcache_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
kmap_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
mod_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
page_compat.h Linux 5.9 compat: NR_SLAB_RECLAIMABLE 2020-08-29 20:57:45 -07:00
percpu_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
simd_aarch64.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
simd_powerpc.h Add PPC cpu feature tests for FreeBSD and Linux 2022-09-16 14:25:53 -07:00
simd_x86.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
simd.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
utsname_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
vfs_compat.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
xattr_compat.h Add xattr_handler support for Android kernels 2022-09-06 10:02:18 -07:00