Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __SPARC_MMU_CONTEXT_H
0003 #define __SPARC_MMU_CONTEXT_H
0004 
0005 #ifndef __ASSEMBLY__
0006 
0007 #include <asm-generic/mm_hooks.h>
0008 
0009 /* Initialize a new mmu context.  This is invoked when a new
0010  * address space instance (unique or shared) is instantiated.
0011  */
0012 #define init_new_context init_new_context
0013 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
0014 
0015 /* Destroy a dead context.  This occurs when mmput drops the
0016  * mm_users count to zero, the mmaps have been released, and
0017  * all the page tables have been flushed.  Our job is to destroy
0018  * any remaining processor-specific state.
0019  */
0020 #define destroy_context destroy_context
0021 void destroy_context(struct mm_struct *mm);
0022 
0023 /* Switch the current MM context. */
0024 void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm,
0025            struct task_struct *tsk);
0026 
0027 /* Activate a new MM instance for the current task. */
0028 #define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
0029 
0030 #include <asm-generic/mmu_context.h>
0031 
0032 #endif /* !(__ASSEMBLY__) */
0033 
0034 #endif /* !(__SPARC_MMU_CONTEXT_H) */