|
@@ -32,7 +32,7 @@
|
|
|
#include <asm/mmu_context.h>
|
|
|
#include <asm/war.h>
|
|
|
#include <asm/cacheflush.h> /* for run_uncached() */
|
|
|
-
|
|
|
+#include <asm/traps.h>
|
|
|
|
|
|
/*
|
|
|
* Special Variant of smp_call_function for use by cache functions:
|
|
@@ -1385,10 +1385,8 @@ static int __init setcoherentio(char *str)
|
|
|
__setup("coherentio", setcoherentio);
|
|
|
#endif
|
|
|
|
|
|
-void __cpuinit r4k_cache_init(void)
|
|
|
+static void __cpuinit r4k_cache_error_setup(void)
|
|
|
{
|
|
|
- extern void build_clear_page(void);
|
|
|
- extern void build_copy_page(void);
|
|
|
extern char __weak except_vec2_generic;
|
|
|
extern char __weak except_vec2_sb1;
|
|
|
struct cpuinfo_mips *c = ¤t_cpu_data;
|
|
@@ -1403,6 +1401,13 @@ void __cpuinit r4k_cache_init(void)
|
|
|
set_uncached_handler(0x100, &except_vec2_generic, 0x80);
|
|
|
break;
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+void __cpuinit r4k_cache_init(void)
|
|
|
+{
|
|
|
+ extern void build_clear_page(void);
|
|
|
+ extern void build_copy_page(void);
|
|
|
+ struct cpuinfo_mips *c = ¤t_cpu_data;
|
|
|
|
|
|
probe_pcache();
|
|
|
setup_scache();
|
|
@@ -1465,4 +1470,5 @@ void __cpuinit r4k_cache_init(void)
|
|
|
local_r4k___flush_cache_all(NULL);
|
|
|
#endif
|
|
|
coherency_setup();
|
|
|
+ board_cache_error_setup = r4k_cache_error_setup;
|
|
|
}
|