|
@@ -15,7 +15,7 @@
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/io.h>
|
|
#include <asm/io.h>
|
|
|
|
|
|
-void __flush_wback_region(void *start, int size)
|
|
|
|
|
|
+static void sh2a__flush_wback_region(void *start, int size)
|
|
{
|
|
{
|
|
unsigned long v;
|
|
unsigned long v;
|
|
unsigned long begin, end;
|
|
unsigned long begin, end;
|
|
@@ -44,7 +44,7 @@ void __flush_wback_region(void *start, int size)
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
}
|
|
}
|
|
|
|
|
|
-void __flush_purge_region(void *start, int size)
|
|
|
|
|
|
+static void sh2a__flush_purge_region(void *start, int size)
|
|
{
|
|
{
|
|
unsigned long v;
|
|
unsigned long v;
|
|
unsigned long begin, end;
|
|
unsigned long begin, end;
|
|
@@ -65,7 +65,7 @@ void __flush_purge_region(void *start, int size)
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
}
|
|
}
|
|
|
|
|
|
-void __flush_invalidate_region(void *start, int size)
|
|
|
|
|
|
+static void sh2a__flush_invalidate_region(void *start, int size)
|
|
{
|
|
{
|
|
unsigned long v;
|
|
unsigned long v;
|
|
unsigned long begin, end;
|
|
unsigned long begin, end;
|
|
@@ -97,7 +97,7 @@ void __flush_invalidate_region(void *start, int size)
|
|
}
|
|
}
|
|
|
|
|
|
/* WBack O-Cache and flush I-Cache */
|
|
/* WBack O-Cache and flush I-Cache */
|
|
-void flush_icache_range(unsigned long start, unsigned long end)
|
|
|
|
|
|
+static void sh2a_flush_icache_range(unsigned long start, unsigned long end)
|
|
{
|
|
{
|
|
unsigned long v;
|
|
unsigned long v;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
@@ -127,3 +127,12 @@ void flush_icache_range(unsigned long start, unsigned long end)
|
|
back_to_cached();
|
|
back_to_cached();
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void __init sh2a_cache_init(void)
|
|
|
|
+{
|
|
|
|
+ flush_icache_range = sh2a_flush_icache_range;
|
|
|
|
+
|
|
|
|
+ __flush_wback_region = sh2a__flush_wback_region;
|
|
|
|
+ __flush_purge_region = sh2a__flush_purge_region;
|
|
|
|
+ __flush_invalidate_region = sh2a__flush_invalidate_region;
|
|
|
|
+}
|