diff options
author | Nils Wallménius <nils@rockbox.org> | 2010-07-15 17:15:20 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2010-07-15 17:15:20 +0000 |
commit | 74063845c0a6602fd9ccfc038165b15a587eb656 (patch) | |
tree | 87c6724f98b0776d22e04c299b3e8409a98a88e5 /firmware/target/mips/ingenic_jz47xx/system-target.h | |
parent | b9e7c18dda82fb92c5e506b2e83a70132604e73b (diff) | |
download | rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.tar.gz rockbox-74063845c0a6602fd9ccfc038165b15a587eb656.zip |
Properly fix warning by copying the swap16 and swap32 inline functions from system.h to mips/ingenic_jz47xx/system-target.h to replace the defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27433 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/system-target.h')
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/system-target.h | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/system-target.h b/firmware/target/mips/ingenic_jz47xx/system-target.h index 232412d0c7..1f8c388ec6 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-target.h +++ b/firmware/target/mips/ingenic_jz47xx/system-target.h | |||
@@ -22,6 +22,8 @@ | |||
22 | #ifndef __SYSTEM_TARGET_H_ | 22 | #ifndef __SYSTEM_TARGET_H_ |
23 | #define __SYSTEM_TARGET_H_ | 23 | #define __SYSTEM_TARGET_H_ |
24 | 24 | ||
25 | #include <inttypes.h> | ||
26 | |||
25 | #include "config.h" | 27 | #include "config.h" |
26 | #include "jz4740.h" | 28 | #include "jz4740.h" |
27 | #include "mipsregs.h" | 29 | #include "mipsregs.h" |
@@ -72,9 +74,27 @@ static inline void restore_interrupt(int status) | |||
72 | #define disable_irq_save() disable_interrupt_save(ST0_IE) | 74 | #define disable_irq_save() disable_interrupt_save(ST0_IE) |
73 | #define restore_irq(c0_status) restore_interrupt(c0_status) | 75 | #define restore_irq(c0_status) restore_interrupt(c0_status) |
74 | 76 | ||
75 | #define swap16(x) (((x) & 0xff) << 8 | ((x) >> 8) & 0xff) | 77 | static inline uint16_t swap16(uint16_t value) |
76 | #define swap32(x) (((x) & 0xff) << 24 | ((x) & 0xff00) << 8 | \ | 78 | /* |
77 | ((x) & 0xff0000) >> 8 | ((x) >> 24) & 0xff) | 79 | result[15..8] = value[ 7..0]; |
80 | result[ 7..0] = value[15..8]; | ||
81 | */ | ||
82 | { | ||
83 | return (value >> 8) | (value << 8); | ||
84 | } | ||
85 | |||
86 | static inline uint32_t swap32(uint32_t value) | ||
87 | /* | ||
88 | result[31..24] = value[ 7.. 0]; | ||
89 | result[23..16] = value[15.. 8]; | ||
90 | result[15.. 8] = value[23..16]; | ||
91 | result[ 7.. 0] = value[31..24]; | ||
92 | */ | ||
93 | { | ||
94 | uint32_t hi = swap16(value >> 16); | ||
95 | uint32_t lo = swap16(value & 0xffff); | ||
96 | return (lo << 16) | hi; | ||
97 | } | ||
78 | 98 | ||
79 | #define UNCACHED_ADDRESS(addr) ((unsigned int)(addr) | 0xA0000000) | 99 | #define UNCACHED_ADDRESS(addr) ((unsigned int)(addr) | 0xA0000000) |
80 | #define UNCACHED_ADDR(x) UNCACHED_ADDRESS((x)) | 100 | #define UNCACHED_ADDR(x) UNCACHED_ADDRESS((x)) |