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