Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #10622
#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.
*
#include <signal.h>
#include <setjmp.h>
-#ifdef __ALTIVEC__
+#if defined(__ALTIVEC__) && !defined(__FreeBSD__)
static jmp_buf env;
static void sigillhandler(int x)
{
zfs_altivec_available(void)
{
boolean_t has_altivec = B_FALSE;
-#ifdef __ALTIVEC__
+#if defined(__ALTIVEC__) && !defined(__FreeBSD__)
sighandler_t savesig;
savesig = signal(SIGILL, sigillhandler);
if (setjmp(env)) {
&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
};