summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2009-02-11 12:55:51 +0000
committerMichael Sevakis <jethead71@rockbox.org>2009-02-11 12:55:51 +0000
commit21f0c9a2829415f52b64cbdf965b01525e78f17a (patch)
treeb5cb8021097722969f75784011c9f64f991c0c3d /firmware/target/coldfire
parent4cd7597172d916db9fc99bde4c03b669366f852a (diff)
downloadrockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.tar.gz
rockbox-21f0c9a2829415f52b64cbdf965b01525e78f17a.zip
Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19971 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire')
-rw-r--r--firmware/target/coldfire/system-coldfire.c8
-rw-r--r--firmware/target/coldfire/system-target.h9
2 files changed, 9 insertions, 8 deletions
diff --git a/firmware/target/coldfire/system-coldfire.c b/firmware/target/coldfire/system-coldfire.c
index c4651a3c80..a96cd34441 100644
--- a/firmware/target/coldfire/system-coldfire.c
+++ b/firmware/target/coldfire/system-coldfire.c
@@ -358,3 +358,11 @@ void coldfire_set_dataincontrol(unsigned long value)
358 DATAINCONTROL = (DATAINCONTROL & (1 << 9)) | value; 358 DATAINCONTROL = (DATAINCONTROL & (1 << 9)) | value;
359 restore_irq(level); 359 restore_irq(level);
360} 360}
361
362void cpucache_invalidate(void)
363{
364 asm volatile ("move.l #0x01000000,%d0\n"
365 "movec.l %d0,%cacr\n"
366 "move.l #0x80000000,%d0\n"
367 "movec.l %d0,%cacr");
368}
diff --git a/firmware/target/coldfire/system-target.h b/firmware/target/coldfire/system-target.h
index 9c349b1436..347d8e13dc 100644
--- a/firmware/target/coldfire/system-target.h
+++ b/firmware/target/coldfire/system-target.h
@@ -194,14 +194,7 @@ static inline uint32_t swap_odd_even32(uint32_t value)
194 return value; 194 return value;
195} 195}
196 196
197#define HAVE_INVALIDATE_ICACHE 197#define HAVE_CPUCACHE_INVALIDATE
198static inline void invalidate_icache(void)
199{
200 asm volatile ("move.l #0x01000000,%d0\n"
201 "movec.l %d0,%cacr\n"
202 "move.l #0x80000000,%d0\n"
203 "movec.l %d0,%cacr");
204}
205 198
206#define DEFAULT_PLLCR_AUDIO_BITS 0x10400000 199#define DEFAULT_PLLCR_AUDIO_BITS 0x10400000
207void coldfire_set_pllcr_audio_bits(long bits); 200void coldfire_set_pllcr_audio_bits(long bits);