diff --git a/include/os/freebsd/spl/sys/isa_defs.h b/include/os/freebsd/spl/sys/isa_defs.h index a9d1a4e1f..e300259d8 100644 --- a/include/os/freebsd/spl/sys/isa_defs.h +++ b/include/os/freebsd/spl/sys/isa_defs.h @@ -542,6 +542,22 @@ extern "C" { #define _BIT_FIELDS_LTOH #endif +#if !defined(__powerpc) +#define __powerpc +#endif + +#if defined(__powerpc64__) +#define _LONG_LONG_ALIGNMENT 8 +#define _MULTI_DATAMODEL +#else +#define _LONG_LONG_ALIGNMENT 4 +#endif +#define _LONG_LONG_ALIGNMENT_32 4 +#define _ALIGNMENT_REQUIRED 1 + +#define _SUNOS_VTOC_16 1 + + /* * The following set of definitions characterize the Solaris on SPARC systems. * diff --git a/lib/libspl/include/sys/types.h b/lib/libspl/include/sys/types.h index ea02ffac9..274e4ec82 100644 --- a/lib/libspl/include/sys/types.h +++ b/lib/libspl/include/sys/types.h @@ -24,6 +24,8 @@ * Use is subject to license terms. */ +#error "Hey, use the other one!" + #ifndef _LIBSPL_SYS_TYPES_H #define _LIBSPL_SYS_TYPES_H diff --git a/module/zfs/vdev_raidz_math.c b/module/zfs/vdev_raidz_math.c index acaa32f6d..aa92cb83d 100644 --- a/module/zfs/vdev_raidz_math.c +++ b/module/zfs/vdev_raidz_math.c @@ -65,7 +65,7 @@ const raidz_impl_ops_t *raidz_all_maths[] = { &vdev_raidz_aarch64_neon_impl, &vdev_raidz_aarch64_neonx2_impl, #endif -#if defined(__powerpc__) +#if defined(__powerpc__) && defined(__altivec__) &vdev_raidz_powerpc_altivec_impl, #endif };