diff --git a/firmware/export/system.h b/firmware/export/system.h index b1b5b025a9..121deafc7e 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