aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm/srmmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/mm/srmmu.c')
-rw-r--r--arch/sparc/mm/srmmu.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
index dd8aa36f366c..fe7ed08390bb 100644
--- a/arch/sparc/mm/srmmu.c
+++ b/arch/sparc/mm/srmmu.c
@@ -1312,10 +1312,8 @@ void __init srmmu_paging_init(void)
1312#endif 1312#endif
1313 poke_srmmu(); 1313 poke_srmmu();
1314 1314
1315#ifdef CONFIG_SUN_IO
1316 srmmu_allocate_ptable_skeleton(sparc_iomap.start, IOBASE_END); 1315 srmmu_allocate_ptable_skeleton(sparc_iomap.start, IOBASE_END);
1317 srmmu_allocate_ptable_skeleton(DVMA_VADDR, DVMA_END); 1316 srmmu_allocate_ptable_skeleton(DVMA_VADDR, DVMA_END);
1318#endif
1319 1317
1320 srmmu_allocate_ptable_skeleton( 1318 srmmu_allocate_ptable_skeleton(
1321 __fix_to_virt(__end_of_fixed_addresses - 1), FIXADDR_TOP); 1319 __fix_to_virt(__end_of_fixed_addresses - 1), FIXADDR_TOP);
@@ -1916,18 +1914,6 @@ static void __cpuinit poke_viking(void)
1916 mreg |= VIKING_SBENABLE; 1914 mreg |= VIKING_SBENABLE;
1917 mreg &= ~(VIKING_ACENABLE); 1915 mreg &= ~(VIKING_ACENABLE);
1918 srmmu_set_mmureg(mreg); 1916 srmmu_set_mmureg(mreg);
1919
1920#ifdef CONFIG_SMP
1921 /* Avoid unnecessary cross calls. */
1922 BTFIXUPCOPY_CALL(flush_cache_all, local_flush_cache_all);
1923 BTFIXUPCOPY_CALL(flush_cache_mm, local_flush_cache_mm);
1924 BTFIXUPCOPY_CALL(flush_cache_range, local_flush_cache_range);
1925 BTFIXUPCOPY_CALL(flush_cache_page, local_flush_cache_page);
1926 BTFIXUPCOPY_CALL(__flush_page_to_ram, local_flush_page_to_ram);
1927 BTFIXUPCOPY_CALL(flush_sig_insns, local_flush_sig_insns);
1928 BTFIXUPCOPY_CALL(flush_page_for_dma, local_flush_page_for_dma);
1929 btfixup();
1930#endif
1931} 1917}
1932 1918
1933static void __init init_viking(void) 1919static void __init init_viking(void)
@@ -2272,6 +2258,17 @@ void __init ld_mmu_srmmu(void)
2272 BTFIXUPSET_CALL(__flush_page_to_ram, smp_flush_page_to_ram, BTFIXUPCALL_NORM); 2258 BTFIXUPSET_CALL(__flush_page_to_ram, smp_flush_page_to_ram, BTFIXUPCALL_NORM);
2273 BTFIXUPSET_CALL(flush_sig_insns, smp_flush_sig_insns, BTFIXUPCALL_NORM); 2259 BTFIXUPSET_CALL(flush_sig_insns, smp_flush_sig_insns, BTFIXUPCALL_NORM);
2274 BTFIXUPSET_CALL(flush_page_for_dma, smp_flush_page_for_dma, BTFIXUPCALL_NORM); 2260 BTFIXUPSET_CALL(flush_page_for_dma, smp_flush_page_for_dma, BTFIXUPCALL_NORM);
2261
2262 if (poke_srmmu == poke_viking) {
2263 /* Avoid unnecessary cross calls. */
2264 BTFIXUPCOPY_CALL(flush_cache_all, local_flush_cache_all);
2265 BTFIXUPCOPY_CALL(flush_cache_mm, local_flush_cache_mm);
2266 BTFIXUPCOPY_CALL(flush_cache_range, local_flush_cache_range);
2267 BTFIXUPCOPY_CALL(flush_cache_page, local_flush_cache_page);
2268 BTFIXUPCOPY_CALL(__flush_page_to_ram, local_flush_page_to_ram);
2269 BTFIXUPCOPY_CALL(flush_sig_insns, local_flush_sig_insns);
2270 BTFIXUPCOPY_CALL(flush_page_for_dma, local_flush_page_for_dma);
2271 }
2275#endif 2272#endif
2276 2273
2277 if (sparc_cpu_model == sun4d) 2274 if (sparc_cpu_model == sun4d)