Commit 5f2cb34d authored by Rich Felker's avatar Rich Felker

sh: make MMU-specific SMP code conditional on CONFIG_MMU

This is a prerequisite for adding NOMMU SMP support.
Signed-off-by: default avatarRich Felker <dalias@libc.org>
parent 3623d138
...@@ -150,7 +150,9 @@ int __cpu_disable(void) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment