summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-02-15 14:09:27 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-02-15 14:09:27 +0000
commit1b6e9b7eab3d27fcd4edd927eef63b080863b039 (patch)
treef6ba79afe06c68eb03288f9460a0532c2f28394e /cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
parent2005-02-15 Ralf Corsepius <ralf.corsepius@rtems.org> (diff)
downloadrtems-1b6e9b7eab3d27fcd4edd927eef63b080863b039.tar.bz2
(CPU_swap_u32, CPU_swap_u16): Remove.
Diffstat (limited to 'cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h')
-rw-r--r--cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h40
1 files changed, 1 insertions, 39 deletions
diff --git a/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h b/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
index aff5cbb3d5..f7416e60c7 100644
--- a/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
+++ b/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h
@@ -898,45 +898,7 @@ void _CPU_Fatal_error(
uint32_t _error
);
-/* The following routine swaps the endian format of an unsigned int.
- * It must be static because it is referenced indirectly.
- *
- * This version will work on any processor, but if there is a better
- * way for your CPU PLEASE use it. The most common way to do this is to:
- *
- * swap least significant two bytes with 16-bit rotate
- * swap upper and lower 16-bits
- * swap most significant two bytes with 16-bit rotate
- *
- * Some CPUs have special instructions which swap a 32-bit quantity in
- * a single instruction (e.g. i486). It is probably best to avoid
- * an "endian swapping control bit" in the CPU. One good reason is
- * that interrupts would probably have to be disabled to insure that
- * an interrupt does not try to access the same "chunk" with the wrong
- * endian. Another good reason is that on some CPUs, the endian bit
- * endianness for ALL fetches -- both code and data -- so the code
- * will be fetched incorrectly.
- */
-
-static inline uint32_t CPU_swap_u32(
- uint32_t value
-)
-{
- uint32_t swapped;
-
- asm volatile("rlwimi %0,%1,8,24,31;"
- "rlwimi %0,%1,24,16,23;"
- "rlwimi %0,%1,8,8,15;"
- "rlwimi %0,%1,24,0,7;" :
- "=&r" ((swapped)) : "r" ((value)));
-
- return( swapped );
-}
-
-#define CPU_swap_u16( value ) \
- (((value&0xff) << 8) | ((value >> 8)&0xff))
-
-#endif /* ndef ASM */
+#endif /* ASM */
#ifdef __cplusplus
}