mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
3623d13821
commit
5f2cb34d03
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue