From 21f0c9a2829415f52b64cbdf965b01525e78f17a Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Wed, 11 Feb 2009 12:55:51 +0000 Subject: 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 --- .../target/arm/imx31/gigabeat-s/system-target.h | 32 ++++------------------ 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'firmware/target/arm/imx31/gigabeat-s/system-target.h') diff --git a/firmware/target/arm/imx31/gigabeat-s/system-target.h b/firmware/target/arm/imx31/gigabeat-s/system-target.h index ae50ec4c78..921af0ec8b 100644 --- a/firmware/target/arm/imx31/gigabeat-s/system-target.h +++ b/firmware/target/arm/imx31/gigabeat-s/system-target.h @@ -57,34 +57,12 @@ void imx31_regclr32(volatile uint32_t *reg_p, uint32_t mask); #define KDEV_INIT -#define HAVE_INVALIDATE_ICACHE -static inline void invalidate_icache(void) -{ - asm volatile( - /* Clean and invalidate entire data cache */ - "mcr p15, 0, %0, c7, c14, 0 \n" - /* Invalidate entire instruction cache - * Also flushes the branch target cache */ - "mcr p15, 0, %0, c7, c5, 0 \n" - /* Data synchronization barrier */ - "mcr p15, 0, %0, c7, c10, 4 \n" - /* Flush prefetch buffer */ - "mcr p15, 0, %0, c7, c5, 4 \n" - : : "r"(0) - ); -} +#define HAVE_CPUCACHE_INVALIDATE +#define HAVE_CPUCACHE_FLUSH -#define HAVE_FLUSH_ICACHE -static inline void flush_icache(void) -{ - asm volatile ( - /* Clean entire data cache */ - "mcr p15, 0, %0, c7, c10, 0 \n" - /* Data synchronization barrier */ - "mcr p15, 0, %0, c7, c10, 4 \n" - : : "r"(0) - ); -} +/* Different internal names */ +#define cpucache_flush clean_dcache +#define cpucache_invalidate invalidate_idcache struct ARM_REGS { int r0; -- cgit v1.2.3