diff options
Diffstat (limited to 'arch/mips/mm/c-sb1.c')
-rw-r--r-- | arch/mips/mm/c-sb1.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/mips/mm/c-sb1.c b/arch/mips/mm/c-sb1.c index 502f68c664b2..2f08b535f20e 100644 --- a/arch/mips/mm/c-sb1.c +++ b/arch/mips/mm/c-sb1.c | |||
@@ -235,7 +235,7 @@ static inline void __sb1_flush_icache_range(unsigned long start, | |||
235 | /* | 235 | /* |
236 | * Invalidate all caches on this CPU | 236 | * Invalidate all caches on this CPU |
237 | */ | 237 | */ |
238 | static void local_sb1___flush_cache_all(void) | 238 | static void __attribute_used__ local_sb1___flush_cache_all(void) |
239 | { | 239 | { |
240 | __sb1_writeback_inv_dcache_all(); | 240 | __sb1_writeback_inv_dcache_all(); |
241 | __sb1_flush_icache_all(); | 241 | __sb1_flush_icache_all(); |
@@ -492,19 +492,17 @@ static __init void probe_cache_sizes(void) | |||
492 | } | 492 | } |
493 | 493 | ||
494 | /* | 494 | /* |
495 | * This is called from loadmmu.c. We have to set up all the | 495 | * This is called from cache.c. We have to set up all the |
496 | * memory management function pointers, as well as initialize | 496 | * memory management function pointers, as well as initialize |
497 | * the caches and tlbs | 497 | * the caches and tlbs |
498 | */ | 498 | */ |
499 | void ld_mmu_sb1(void) | 499 | void sb1_cache_init(void) |
500 | { | 500 | { |
501 | extern char except_vec2_sb1; | 501 | extern char except_vec2_sb1; |
502 | extern char handle_vec2_sb1; | 502 | extern char handle_vec2_sb1; |
503 | 503 | ||
504 | /* Special cache error handler for SB1 */ | 504 | /* Special cache error handler for SB1 */ |
505 | memcpy((void *)(CAC_BASE + 0x100), &except_vec2_sb1, 0x80); | 505 | set_uncached_handler (0x100, &except_vec2_sb1, 0x80); |
506 | memcpy((void *)(UNCAC_BASE + 0x100), &except_vec2_sb1, 0x80); | ||
507 | memcpy((void *)CKSEG1ADDR(&handle_vec2_sb1), &handle_vec2_sb1, 0x80); | ||
508 | 506 | ||
509 | probe_cache_sizes(); | 507 | probe_cache_sizes(); |
510 | 508 | ||