Эх сурвалжийг харах

sh: make MMU-specific SMP code conditional on CONFIG_MMU

This is a prerequisite for adding NOMMU SMP support.

Signed-off-by: Rich Felker <dalias@libc.org>
Rich Felker 9 жил өмнө
parent
commit
5f2cb34d03

+ 8 - 0
arch/sh/kernel/smp.c

@@ -150,7 +150,9 @@ int __cpu_disable(void)
 	 * from the vm mask set of all processes.
 	 * from the vm mask set of all processes.
 	 */
 	 */
 	flush_cache_all();
 	flush_cache_all();
+#ifdef CONFIG_MMU
 	local_flush_tlb_all();
 	local_flush_tlb_all();
+#endif
 
 
 	clear_tasks_mm_cpumask(cpu);
 	clear_tasks_mm_cpumask(cpu);
 
 
@@ -183,8 +185,10 @@ asmlinkage void start_secondary(void)
 	atomic_inc(&mm->mm_count);
 	atomic_inc(&mm->mm_count);
 	atomic_inc(&mm->mm_users);
 	atomic_inc(&mm->mm_users);
 	current->active_mm = mm;
 	current->active_mm = mm;
+#ifdef CONFIG_MMU
 	enter_lazy_tlb(mm, current);
 	enter_lazy_tlb(mm, current);
 	local_flush_tlb_all();
 	local_flush_tlb_all();
+#endif
 
 
 	per_cpu_trap_init();
 	per_cpu_trap_init();
 
 
@@ -328,6 +332,8 @@ int setup_profiling_timer(unsigned int multiplier)
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_MMU
+
 static void flush_tlb_all_ipi(void *info)
 static void flush_tlb_all_ipi(void *info)
 {
 {
 	local_flush_tlb_all();
 	local_flush_tlb_all();
@@ -467,3 +473,5 @@ void flush_tlb_one(unsigned long asid, unsigned long vaddr)
 	smp_call_function(flush_tlb_one_ipi, (void *)&fd, 1);
 	smp_call_function(flush_tlb_one_ipi, (void *)&fd, 1);
 	local_flush_tlb_one(asid, vaddr);
 	local_flush_tlb_one(asid, vaddr);
 }
 }
+
+#endif