sh: make MMU-specific SMP code conditional on CONFIG_MMU
authorRich Felker <dalias@libc.org>
Fri, 12 Feb 2016 22:11:55 +0000 (22:11 +0000)
committerRich Felker <dalias@libc.org>
Thu, 17 Mar 2016 19:46:08 +0000 (19:46 +0000)
This is a prerequisite for adding NOMMU SMP support.

Signed-off-by: Rich Felker <dalias@libc.org>
arch/sh/kernel/smp.c

index de6be00..a66f2aa 100644 (file)
@@ -150,7 +150,9 @@ int __cpu_disable(void)
         * from the vm mask set of all processes.
         */
        flush_cache_all();
+#ifdef CONFIG_MMU
        local_flush_tlb_all();
+#endif
 
        clear_tasks_mm_cpumask(cpu);
 
@@ -183,8 +185,10 @@ asmlinkage void start_secondary(void)
        atomic_inc(&mm->mm_count);
        atomic_inc(&mm->mm_users);
        current->active_mm = mm;
+#ifdef CONFIG_MMU
        enter_lazy_tlb(mm, current);
        local_flush_tlb_all();
+#endif
 
        per_cpu_trap_init();
 
@@ -328,6 +332,8 @@ int setup_profiling_timer(unsigned int multiplier)
        return 0;
 }
 
+#ifdef CONFIG_MMU
+
 static void flush_tlb_all_ipi(void *info)
 {
        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);
        local_flush_tlb_one(asid, vaddr);
 }
+
+#endif