summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-02-09 14:18:46 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-02-09 14:18:46 +0000
commitb1152619910922b48db0bf9dd792ea1ac72f91a7 (patch)
treec24cd9563a635e8202a547eb7a389d9ca4a7ad57
parentc2600d82896f821d843efd8c6925c86725e1460c (diff)
downloadrockbox-b1152619910922b48db0bf9dd792ea1ac72f91a7.zip
rockbox-b1152619910922b48db0bf9dd792ea1ac72f91a7.tar.gz
rockbox-b1152619910922b48db0bf9dd792ea1ac72f91a7.tar.bz2
rockbox-b1152619910922b48db0bf9dd792ea1ac72f91a7.tar.xz
Added invalidate_icache()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5870 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/system.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/export/system.h b/firmware/export/system.h
index b1b5b02..121deaf 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -144,6 +144,8 @@ static inline unsigned long SWAB32(unsigned long value)
return value;
}
+#define invalidate_icache()
+
#elif CONFIG_CPU == MCF5249
#define HIGHEST_IRQ_LEVEL (7<<8)
static inline int set_irq_level(int level)
@@ -178,6 +180,12 @@ static inline unsigned long SWAB32(unsigned long value)
return (lo << 16) | hi;
}
+static inline void invalidate_icache(void)
+{
+ asm volatile ("move.l #0x81000000,%d0\n"
+ "movec.l %d0,%cacr");
+}
+
#elif CONFIG_CPU == TCC730
extern void* volatile interrupt_vector[16] __attribute__ ((section(".idata")));
@@ -223,6 +231,8 @@ static inline unsigned long SWAB32(unsigned long value)
return (lo << 16) | hi;
}
+#define invalidate_icache()
+
#endif
#endif