diff options
Diffstat (limited to 'arch/sparc/kernel/leon_smp.c')
-rw-r--r-- | arch/sparc/kernel/leon_smp.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c index 356dfc45cdd0..f3e3630e31a3 100644 --- a/arch/sparc/kernel/leon_smp.c +++ b/arch/sparc/kernel/leon_smp.c | |||
@@ -75,8 +75,8 @@ void __cpuinit leon_callin(void) | |||
75 | { | 75 | { |
76 | int cpuid = hard_smpleon_processor_id(); | 76 | int cpuid = hard_smpleon_processor_id(); |
77 | 77 | ||
78 | local_flush_cache_all(); | 78 | local_ops->cache_all(); |
79 | local_flush_tlb_all(); | 79 | local_ops->tlb_all(); |
80 | leon_configure_cache_smp(); | 80 | leon_configure_cache_smp(); |
81 | 81 | ||
82 | notify_cpu_starting(cpuid); | 82 | notify_cpu_starting(cpuid); |
@@ -87,8 +87,8 @@ void __cpuinit leon_callin(void) | |||
87 | calibrate_delay(); | 87 | calibrate_delay(); |
88 | smp_store_cpu_info(cpuid); | 88 | smp_store_cpu_info(cpuid); |
89 | 89 | ||
90 | local_flush_cache_all(); | 90 | local_ops->cache_all(); |
91 | local_flush_tlb_all(); | 91 | local_ops->tlb_all(); |
92 | 92 | ||
93 | /* | 93 | /* |
94 | * Unblock the master CPU _only_ when the scheduler state | 94 | * Unblock the master CPU _only_ when the scheduler state |
@@ -99,8 +99,8 @@ void __cpuinit leon_callin(void) | |||
99 | */ | 99 | */ |
100 | do_swap(&cpu_callin_map[cpuid], 1); | 100 | do_swap(&cpu_callin_map[cpuid], 1); |
101 | 101 | ||
102 | local_flush_cache_all(); | 102 | local_ops->cache_all(); |
103 | local_flush_tlb_all(); | 103 | local_ops->tlb_all(); |
104 | 104 | ||
105 | /* Fix idle thread fields. */ | 105 | /* Fix idle thread fields. */ |
106 | __asm__ __volatile__("ld [%0], %%g6\n\t" : : "r"(¤t_set[cpuid]) | 106 | __asm__ __volatile__("ld [%0], %%g6\n\t" : : "r"(¤t_set[cpuid]) |
@@ -143,8 +143,8 @@ void __init leon_configure_cache_smp(void) | |||
143 | } | 143 | } |
144 | } | 144 | } |
145 | 145 | ||
146 | local_flush_cache_all(); | 146 | local_ops->cache_all(); |
147 | local_flush_tlb_all(); | 147 | local_ops->tlb_all(); |
148 | } | 148 | } |
149 | 149 | ||
150 | void leon_smp_setbroadcast(unsigned int mask) | 150 | void leon_smp_setbroadcast(unsigned int mask) |
@@ -199,7 +199,7 @@ void __init leon_boot_cpus(void) | |||
199 | leon_smp_setbroadcast(1 << LEON3_IRQ_TICKER); | 199 | leon_smp_setbroadcast(1 << LEON3_IRQ_TICKER); |
200 | 200 | ||
201 | leon_configure_cache_smp(); | 201 | leon_configure_cache_smp(); |
202 | local_flush_cache_all(); | 202 | local_ops->cache_all(); |
203 | 203 | ||
204 | } | 204 | } |
205 | 205 | ||
@@ -226,7 +226,7 @@ int __cpuinit leon_boot_one_cpu(int i) | |||
226 | /* whirrr, whirrr, whirrrrrrrrr... */ | 226 | /* whirrr, whirrr, whirrrrrrrrr... */ |
227 | printk(KERN_INFO "Starting CPU %d : (irqmp: 0x%x)\n", (unsigned int)i, | 227 | printk(KERN_INFO "Starting CPU %d : (irqmp: 0x%x)\n", (unsigned int)i, |
228 | (unsigned int)&leon3_irqctrl_regs->mpstatus); | 228 | (unsigned int)&leon3_irqctrl_regs->mpstatus); |
229 | local_flush_cache_all(); | 229 | local_ops->cache_all(); |
230 | 230 | ||
231 | /* Make sure all IRQs are of from the start for this new CPU */ | 231 | /* Make sure all IRQs are of from the start for this new CPU */ |
232 | LEON_BYPASS_STORE_PA(&leon3_irqctrl_regs->mask[i], 0); | 232 | LEON_BYPASS_STORE_PA(&leon3_irqctrl_regs->mask[i], 0); |
@@ -251,7 +251,7 @@ int __cpuinit leon_boot_one_cpu(int i) | |||
251 | leon_enable_irq_cpu(leon_ipi_irq, i); | 251 | leon_enable_irq_cpu(leon_ipi_irq, i); |
252 | } | 252 | } |
253 | 253 | ||
254 | local_flush_cache_all(); | 254 | local_ops->cache_all(); |
255 | return 0; | 255 | return 0; |
256 | } | 256 | } |
257 | 257 | ||
@@ -271,7 +271,7 @@ void __init leon_smp_done(void) | |||
271 | } | 271 | } |
272 | } | 272 | } |
273 | *prev = first; | 273 | *prev = first; |
274 | local_flush_cache_all(); | 274 | local_ops->cache_all(); |
275 | 275 | ||
276 | /* Free unneeded trap tables */ | 276 | /* Free unneeded trap tables */ |
277 | if (!cpu_present(1)) { | 277 | if (!cpu_present(1)) { |
@@ -337,7 +337,7 @@ static void __init leon_ipi_init(void) | |||
337 | local_irq_save(flags); | 337 | local_irq_save(flags); |
338 | trap_table = &sparc_ttable[SP_TRAP_IRQ1 + (leon_ipi_irq - 1)]; | 338 | trap_table = &sparc_ttable[SP_TRAP_IRQ1 + (leon_ipi_irq - 1)]; |
339 | trap_table->inst_three += smpleon_ipi - real_irq_entry; | 339 | trap_table->inst_three += smpleon_ipi - real_irq_entry; |
340 | local_flush_cache_all(); | 340 | local_ops->cache_all(); |
341 | local_irq_restore(flags); | 341 | local_irq_restore(flags); |
342 | 342 | ||
343 | for_each_possible_cpu(cpu) { | 343 | for_each_possible_cpu(cpu) { |