Index: include/endian.h =================================================================== RCS file: /cvs/src/sys/arch/sparc/include/endian.h,v retrieving revision 1.14 diff -u -p -r1.14 endian.h --- include/endian.h 12 Jul 2014 16:25:09 -0000 1.14 +++ include/endian.h 21 Jan 2015 21:22:02 -0000 @@ -30,6 +30,16 @@ #define _BYTE_ORDER _BIG_ENDIAN #define __STRICT_ALIGNMENT +#ifdef _KERNEL + +__uint16_t __swap16md(__uint16_t); +__uint32_t __swap32md(__uint32_t); +__uint64_t __swap64md(__uint64_t); + +#define __HAVE_MD_SWAP + +#endif /* _KERNEL */ + #ifndef __FROM_SYS__ENDIAN #include #endif Index: sparc/machdep.c =================================================================== RCS file: /cvs/src/sys/arch/sparc/sparc/machdep.c,v retrieving revision 1.167 diff -u -p -r1.167 machdep.c --- sparc/machdep.c 10 Dec 2014 15:29:53 -0000 1.167 +++ sparc/machdep.c 21 Jan 2015 21:22:02 -0000 @@ -1109,3 +1109,21 @@ _bus_dmamem_mmap(bus_dma_tag_t t, bus_dm { panic("_bus_dmamem_mmap: not implemented"); } + +__uint16_t +__swap16md(__uint16_t x) +{ + return (__swap16gen(x)); +} + +__uint32_t +__swap32md(__uint32_t x) +{ + return (__swap32gen(x)); +} + +__uint64_t +__swap64md(__uint64_t x) +{ + return (__swap64gen(x)); +}