summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/cpu/m68k
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-27 16:10:16 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-27 16:10:16 +0000
commitb0aba4c46b14204f7de6471512136de7003877c4 (patch)
treec3128754275e49fb155f41a327d5938385395cb8 /c/src/exec/score/cpu/m68k
parentFixed spelling errors. (diff)
downloadrtems-b0aba4c46b14204f7de6471512136de7003877c4.tar.bz2
Added swap of unsigned16
Diffstat (limited to 'c/src/exec/score/cpu/m68k')
-rw-r--r--c/src/exec/score/cpu/m68k/m68k.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/c/src/exec/score/cpu/m68k/m68k.h b/c/src/exec/score/cpu/m68k/m68k.h
index 1336b581d1..a6d24562d2 100644
--- a/c/src/exec/score/cpu/m68k/m68k.h
+++ b/c/src/exec/score/cpu/m68k/m68k.h
@@ -243,6 +243,17 @@ static inline unsigned int m68k_swap_u32(
return( swapped );
}
+static inline unsigned int m68k_swap_u16(
+ unsigned int value
+)
+{
+ unsigned short swapped = value;
+
+ asm volatile( "rorw #8,%0" : "=d" (swapped) : "0" (swapped) );
+
+ return( swapped );
+}
+
/* XXX this is only valid for some m68k family members and should be fixed */
#define m68k_enable_caching() \
@@ -252,6 +263,7 @@ static inline unsigned int m68k_swap_u32(
}
#define CPU_swap_u32( value ) m68k_swap_u32( value )
+#define CPU_swap_u16( value ) m68k_swap_u16( value )
#endif /* !ASM */