From 6c7fdacfe7fd8aa4ffb926c200c3a51bf5be74ac Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Sat, 28 May 2016 20:33:15 +0800 Subject: [PATCH 1/6] Add isa_defs for MIPS GCC for MIPS only defines _LP64 when 64bit, while no _ILP32 defined when 32bit. --- lib/libefi/rdwr_efi.c | 3 ++- lib/libspl/include/sys/isa_defs.h | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/libefi/rdwr_efi.c b/lib/libefi/rdwr_efi.c index 67de216c03c3..7a7a4b4b73d0 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 61f4cd96a93d..ace0ed945f17 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -172,7 +172,24 @@ 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 x86_64, i386, arm, powerpc, s390, sparc, and mips are supported */ #error "Unsupported ISA type" #endif From 413fff13c3c60f904502bc4cc36ed3c9f412aa4d Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 31 May 2016 14:35:43 +0800 Subject: [PATCH 2/6] fix code style for mips patch --- lib/libspl/include/sys/isa_defs.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index ace0ed945f17..b3e65cec44fb 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -184,12 +184,14 @@ extern "C" { #endif #ifndef _LP64 -#define _ILP32 +#define _ILP32 #endif #define _SUNOS_VTOC_16 -#else /* Currently x86_64, i386, arm, powerpc, s390, sparc, and mips are supported */ +#else /* Currently support */ + * x86_64, i386, arm, powerpc, s390, sparc, and mips + */ #error "Unsupported ISA type" #endif From 2653de15a125714b57272f6d66fe7d86f7b56724 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 31 May 2016 14:47:44 +0800 Subject: [PATCH 3/6] fix mistake comment for mips isa_defs --- lib/libspl/include/sys/isa_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index b3e65cec44fb..acd25220c756 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -189,7 +189,7 @@ extern "C" { #define _SUNOS_VTOC_16 -#else /* Currently support */ +#else /* Currently support * x86_64, i386, arm, powerpc, s390, sparc, and mips */ #error "Unsupported ISA type" From 4996f8b542d3db1f0491d419b32dd84049108f01 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 31 May 2016 15:06:50 +0800 Subject: [PATCH 4/6] fix commit style in isa_defs --- lib/libspl/include/sys/isa_defs.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index acd25220c756..db78d787e204 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -189,9 +189,10 @@ extern "C" { #define _SUNOS_VTOC_16 -#else /* Currently support - * x86_64, i386, arm, powerpc, s390, sparc, and mips - */ +#else +/* Currently support + * x86_64, i386, arm, powerpc, s390, sparc, and mips + */ #error "Unsupported ISA type" #endif From e74271804ea5daa1604d5fd8783bab1674f17041 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 31 May 2016 15:25:22 +0800 Subject: [PATCH 5/6] improper first line of block comment --- lib/libspl/include/sys/isa_defs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index db78d787e204..7aec8db88510 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -190,7 +190,8 @@ extern "C" { #define _SUNOS_VTOC_16 #else -/* Currently support +/* + * Currently support * x86_64, i386, arm, powerpc, s390, sparc, and mips */ #error "Unsupported ISA type" From 4f69bbfec41281b567627c8a39128e3d7f97e3cc Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Tue, 31 May 2016 15:44:09 +0800 Subject: [PATCH 6/6] remove the space after /* --- lib/libspl/include/sys/isa_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libspl/include/sys/isa_defs.h b/lib/libspl/include/sys/isa_defs.h index 7aec8db88510..a8dbc362c159 100644 --- a/lib/libspl/include/sys/isa_defs.h +++ b/lib/libspl/include/sys/isa_defs.h @@ -190,7 +190,7 @@ extern "C" { #define _SUNOS_VTOC_16 #else -/* +/* * Currently support * x86_64, i386, arm, powerpc, s390, sparc, and mips */