diff options
Diffstat (limited to 'arch/sparc/mm/srmmu.c')
-rw-r--r-- | arch/sparc/mm/srmmu.c | 25 |
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 | ||
1933 | static void __init init_viking(void) | 1919 | static 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) |