Commit 4ebea49c authored by Paul Burton's avatar Paul Burton

MIPS: mm: Un-inline get_new_mmu_context

In preparation for adding MMID support to get_new_mmu_context() which
will increase the size of the function somewhat, move it from
asm/mmu_context.h into a C file.
Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
parent 7e8556d0
...@@ -97,25 +97,7 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) ...@@ -97,25 +97,7 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
{ {
} }
extern void get_new_mmu_context(struct mm_struct *mm);
/* Normal, classic MIPS get_new_mmu_context */
static inline void
get_new_mmu_context(struct mm_struct *mm)
{
unsigned int cpu;
u64 asid;
cpu = smp_processor_id();
asid = asid_cache(cpu);
if (!((asid += cpu_asid_inc()) & cpu_asid_mask(&cpu_data[cpu]))) {
if (cpu_has_vtag_icache)
flush_icache_all();
local_flush_tlb_all(); /* start new asid cycle */
}
cpu_context(cpu, mm) = asid_cache(cpu) = asid;
}
/* /*
* Initialize the context related info for a new mm_struct * Initialize the context related info for a new mm_struct
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
# #
obj-y += cache.o obj-y += cache.o
obj-y += context.o
obj-y += extable.o obj-y += extable.o
obj-y += fault.o obj-y += fault.o
obj-y += gup.o obj-y += gup.o
......
// SPDX-License-Identifier: GPL-2.0
#include <linux/mmu_context.h>
void get_new_mmu_context(struct mm_struct *mm)
{
unsigned int cpu;
u64 asid;
cpu = smp_processor_id();
asid = asid_cache(cpu);
if (!((asid += cpu_asid_inc()) & cpu_asid_mask(&cpu_data[cpu]))) {
if (cpu_has_vtag_icache)
flush_icache_all();
local_flush_tlb_all(); /* start new asid cycle */
}
cpu_context(cpu, mm) = asid_cache(cpu) = asid;
}
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