From 2493dca54e18b24bcd8b7ff5432f4dc51dddc472 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Sat, 28 May 2016 20:33:15 +0800 Subject: [PATCH] Add isa_defs for MIPS GCC for MIPS only defines _LP64 when 64bit, while no _ILP32 defined when 32bit. Signed-off-by: YunQiang Su Signed-off-by: Brian Behlendorf Closes #4712 --- lib/libefi/rdwr_efi.c | 3 ++- lib/libspl/include/sys/isa_defs.h | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lib/libefi/rdwr_efi.c b/lib/libefi/rdwr_efi.c index 67de216c03..7a7a4b4b73 100644 --- a/lib/libefi/rdwr_efi.c +++ b/lib/libefi/rdwr_efi.c @@ -154,7 +154,8 @@ struct dk_map2 default_vtoc_map[NDKMAP] = { #if defined(_SUNOS_VTOC_16) #if defined(i386) || defined(__amd64) || defined(__arm) || \ - defined(__powerpc) || defined(__sparc) || defined(__s390__) + defined(__powerpc) || defined(__sparc) || defined(__s390__) || \ + defined(__mips__) { V_BOOT, V_UNMNT }, /* i - 8 */ { V_ALTSCTR, 0 }, /* j - 9 */ diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index 61f4cd96a9..3bca5cf02e 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -172,7 +172,28 @@ extern "C" { #define _BIG_ENDIAN #define _SUNOS_VTOC_16 -#else /* Currently x86_64, i386, arm, powerpc, s390, and sparc are supported */ +/* MIPS arch specific defines */ +#elif defined(__mips__) + +#if defined(__MIPSEB__) +#define _BIG_ENDIAN +#elif defined(__MIPSEL__) +#define _LITTLE_ENDIAN +#else +#error MIPS no endian specified +#endif + +#ifndef _LP64 +#define _ILP32 +#endif + +#define _SUNOS_VTOC_16 + +#else +/* + * Currently supported: + * x86_64, i386, arm, powerpc, s390, sparc, and mips + */ #error "Unsupported ISA type" #endif