aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libefi/rdwr_efi.c3
-rw-r--r--lib/libspl/include/sys/isa_defs.h30
2 files changed, 31 insertions, 2 deletions
diff --git a/lib/libefi/rdwr_efi.c b/lib/libefi/rdwr_efi.c
index a6dec404b..2807fb070 100644
--- a/lib/libefi/rdwr_efi.c
+++ b/lib/libefi/rdwr_efi.c
@@ -87,7 +87,8 @@ struct dk_map2 default_vtoc_map[NDKMAP] = {
#if defined(_SUNOS_VTOC_16)
-#if defined(i386) || defined(__amd64) || defined(__arm) || defined(__powerpc)
+#if defined(i386) || defined(__amd64) || defined(__arm) || \
+ defined(__powerpc) || defined(__sparc)
{ 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 7c5df7737..446dbfc37 100644
--- a/lib/libspl/include/sys/isa_defs.h
+++ b/lib/libspl/include/sys/isa_defs.h
@@ -121,7 +121,35 @@ extern "C" {
#define _SUNOS_VTOC_16
-#else /* Currently only x86_64, i386, arm, and powerpc arches supported */
+/* sparc arch specific defines */
+#elif defined(__sparc) || defined(__sparc__)
+
+#if !defined(__sparc)
+#define __sparc
+#endif
+
+#if !defined(__sparc__)
+#define __sparc__
+#endif
+
+#define _BIG_ENDIAN
+#define _SUNOS_VTOC_16
+
+/* sparc64 arch specific defines */
+#elif defined(__sparc64) || defined(__sparc64__)
+
+#if !defined(__sparc64)
+#define __sparc64
+#endif
+
+#if !defined(__sparc64__)
+#define __sparc64__
+#endif
+
+#define _BIG_ENDIAN
+#define _SUNOS_VTOC_16
+
+#else /* Currently x86_64, i386, arm, powerpc, and sparc are supported */
#error "Unsupported ISA type"
#endif