FreeBSD: Fixes required to build ZFS on PowerPC
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes #10622
This commit is contained in:
parent
d364de7a89
commit
f5b189f937
|
@ -542,6 +542,21 @@ 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.
|
||||
*
|
||||
|
|
|
@ -464,7 +464,7 @@ zfs_avx512vbmi_available(void)
|
|||
#include <signal.h>
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef __ALTIVEC__
|
||||
#if defined(__ALTIVEC__) && !defined(__FreeBSD__)
|
||||
static jmp_buf env;
|
||||
static void sigillhandler(int x)
|
||||
{
|
||||
|
@ -476,7 +476,7 @@ static inline boolean_t
|
|||
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)) {
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue