From c60a51b640bab61c54f370752750841675730899 Mon Sep 17 00:00:00 2001
From: YunQiang Su <syq@debian.org>
Date: Sat, 28 May 2016 19:30:36 +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 <syq@debian.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #558
---
 include/sys/isa_defs.h | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/include/sys/isa_defs.h b/include/sys/isa_defs.h
index 3d474872cb..53dead38c1 100644
--- a/include/sys/isa_defs.h
+++ b/include/sys/isa_defs.h
@@ -145,7 +145,28 @@
 
 #define	_BIG_ENDIAN
 
-#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