diff options
Diffstat (limited to 'arch/sparc/mm/sun4c.c')
-rw-r--r-- | arch/sparc/mm/sun4c.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c index 4289f90f8697..1cf4f198709a 100644 --- a/arch/sparc/mm/sun4c.c +++ b/arch/sparc/mm/sun4c.c | |||
@@ -318,7 +318,7 @@ void __init sun4c_probe_vac(void) | |||
318 | prom_printf("probe_vac: Didn't expect vac-linesize of %d, halting\n", | 318 | prom_printf("probe_vac: Didn't expect vac-linesize of %d, halting\n", |
319 | sun4c_vacinfo.linesize); | 319 | sun4c_vacinfo.linesize); |
320 | prom_halt(); | 320 | prom_halt(); |
321 | }; | 321 | } |
322 | 322 | ||
323 | sun4c_flush_all(); | 323 | sun4c_flush_all(); |
324 | sun4c_enable_vac(); | 324 | sun4c_enable_vac(); |
@@ -364,7 +364,7 @@ static void __init patch_kernel_fault_handler(void) | |||
364 | prom_printf("Unhandled number of segmaps: %d\n", | 364 | prom_printf("Unhandled number of segmaps: %d\n", |
365 | num_segmaps); | 365 | num_segmaps); |
366 | prom_halt(); | 366 | prom_halt(); |
367 | }; | 367 | } |
368 | switch (num_contexts) { | 368 | switch (num_contexts) { |
369 | case 8: | 369 | case 8: |
370 | /* Default, nothing to do. */ | 370 | /* Default, nothing to do. */ |
@@ -377,7 +377,7 @@ static void __init patch_kernel_fault_handler(void) | |||
377 | prom_printf("Unhandled number of contexts: %d\n", | 377 | prom_printf("Unhandled number of contexts: %d\n", |
378 | num_contexts); | 378 | num_contexts); |
379 | prom_halt(); | 379 | prom_halt(); |
380 | }; | 380 | } |
381 | 381 | ||
382 | if (sun4c_vacinfo.do_hwflushes != 0) { | 382 | if (sun4c_vacinfo.do_hwflushes != 0) { |
383 | PATCH_INSN(vac_hwflush_patch1_on, vac_hwflush_patch1); | 383 | PATCH_INSN(vac_hwflush_patch1_on, vac_hwflush_patch1); |
@@ -394,7 +394,7 @@ static void __init patch_kernel_fault_handler(void) | |||
394 | prom_printf("Impossible VAC linesize %d, halting...\n", | 394 | prom_printf("Impossible VAC linesize %d, halting...\n", |
395 | sun4c_vacinfo.linesize); | 395 | sun4c_vacinfo.linesize); |
396 | prom_halt(); | 396 | prom_halt(); |
397 | }; | 397 | } |
398 | } | 398 | } |
399 | } | 399 | } |
400 | 400 | ||
@@ -420,7 +420,7 @@ volatile unsigned long __iomem *sun4c_memerr_reg = NULL; | |||
420 | 420 | ||
421 | void __init sun4c_probe_memerr_reg(void) | 421 | void __init sun4c_probe_memerr_reg(void) |
422 | { | 422 | { |
423 | int node; | 423 | phandle node; |
424 | struct linux_prom_registers regs[1]; | 424 | struct linux_prom_registers regs[1]; |
425 | 425 | ||
426 | node = prom_getchild(prom_root_node); | 426 | node = prom_getchild(prom_root_node); |
@@ -435,16 +435,14 @@ void __init sun4c_probe_memerr_reg(void) | |||
435 | 435 | ||
436 | static inline void sun4c_init_ss2_cache_bug(void) | 436 | static inline void sun4c_init_ss2_cache_bug(void) |
437 | { | 437 | { |
438 | extern unsigned long start; | ||
439 | |||
440 | if ((idprom->id_machtype == (SM_SUN4C | SM_4C_SS2)) || | 438 | if ((idprom->id_machtype == (SM_SUN4C | SM_4C_SS2)) || |
441 | (idprom->id_machtype == (SM_SUN4C | SM_4C_IPX)) || | 439 | (idprom->id_machtype == (SM_SUN4C | SM_4C_IPX)) || |
442 | (idprom->id_machtype == (SM_SUN4C | SM_4C_ELC))) { | 440 | (idprom->id_machtype == (SM_SUN4C | SM_4C_ELC))) { |
443 | /* Whee.. */ | 441 | /* Whee.. */ |
444 | printk("SS2 cache bug detected, uncaching trap table page\n"); | 442 | printk("SS2 cache bug detected, uncaching trap table page\n"); |
445 | sun4c_flush_page((unsigned int) &start); | 443 | sun4c_flush_page((unsigned int) &_start); |
446 | sun4c_put_pte(((unsigned long) &start), | 444 | sun4c_put_pte(((unsigned long) &_start), |
447 | (sun4c_get_pte((unsigned long) &start) | _SUN4C_PAGE_NOCACHE)); | 445 | (sun4c_get_pte((unsigned long) &_start) | _SUN4C_PAGE_NOCACHE)); |
448 | } | 446 | } |
449 | } | 447 | } |
450 | 448 | ||
@@ -924,7 +922,7 @@ static inline void garbage_collect(int entry) | |||
924 | free_locked_segment(BUCKET_ADDR(entry)); | 922 | free_locked_segment(BUCKET_ADDR(entry)); |
925 | } | 923 | } |
926 | 924 | ||
927 | static struct thread_info *sun4c_alloc_thread_info(void) | 925 | static struct thread_info *sun4c_alloc_thread_info_node(int node) |
928 | { | 926 | { |
929 | unsigned long addr, pages; | 927 | unsigned long addr, pages; |
930 | int entry; | 928 | int entry; |
@@ -2157,7 +2155,7 @@ void __init ld_mmu_sun4c(void) | |||
2157 | BTFIXUPSET_CALL(__swp_offset, sun4c_swp_offset, BTFIXUPCALL_NORM); | 2155 | BTFIXUPSET_CALL(__swp_offset, sun4c_swp_offset, BTFIXUPCALL_NORM); |
2158 | BTFIXUPSET_CALL(__swp_entry, sun4c_swp_entry, BTFIXUPCALL_NORM); | 2156 | BTFIXUPSET_CALL(__swp_entry, sun4c_swp_entry, BTFIXUPCALL_NORM); |
2159 | 2157 | ||
2160 | BTFIXUPSET_CALL(alloc_thread_info, sun4c_alloc_thread_info, BTFIXUPCALL_NORM); | 2158 | BTFIXUPSET_CALL(alloc_thread_info_node, sun4c_alloc_thread_info_node, BTFIXUPCALL_NORM); |
2161 | BTFIXUPSET_CALL(free_thread_info, sun4c_free_thread_info, BTFIXUPCALL_NORM); | 2159 | BTFIXUPSET_CALL(free_thread_info, sun4c_free_thread_info, BTFIXUPCALL_NORM); |
2162 | 2160 | ||
2163 | BTFIXUPSET_CALL(mmu_info, sun4c_mmu_info, BTFIXUPCALL_NORM); | 2161 | BTFIXUPSET_CALL(mmu_info, sun4c_mmu_info, BTFIXUPCALL_NORM); |