Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __SPARC_MMU_CONTEXT_H
3#define __SPARC_MMU_CONTEXT_H
4
5#ifndef __ASSEMBLY__
6
7#include <asm-generic/mm_hooks.h>
8
9static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
10{
11}
12
13/* Initialize a new mmu context. This is invoked when a new
14 * address space instance (unique or shared) is instantiated.
15 */
16int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
17
18/* Destroy a dead context. This occurs when mmput drops the
19 * mm_users count to zero, the mmaps have been released, and
20 * all the page tables have been flushed. Our job is to destroy
21 * any remaining processor-specific state.
22 */
23void destroy_context(struct mm_struct *mm);
24
25/* Switch the current MM context. */
26void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm,
27 struct task_struct *tsk);
28
29#define deactivate_mm(tsk,mm) do { } while (0)
30
31/* Activate a new MM instance for the current task. */
32#define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
33
34#endif /* !(__ASSEMBLY__) */
35
36#endif /* !(__SPARC_MMU_CONTEXT_H) */
1#ifndef __SPARC_MMU_CONTEXT_H
2#define __SPARC_MMU_CONTEXT_H
3
4#ifndef __ASSEMBLY__
5
6#include <asm-generic/mm_hooks.h>
7
8static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
9{
10}
11
12/* Initialize a new mmu context. This is invoked when a new
13 * address space instance (unique or shared) is instantiated.
14 */
15int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
16
17/* Destroy a dead context. This occurs when mmput drops the
18 * mm_users count to zero, the mmaps have been released, and
19 * all the page tables have been flushed. Our job is to destroy
20 * any remaining processor-specific state.
21 */
22void destroy_context(struct mm_struct *mm);
23
24/* Switch the current MM context. */
25void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm,
26 struct task_struct *tsk);
27
28#define deactivate_mm(tsk,mm) do { } while (0)
29
30/* Activate a new MM instance for the current task. */
31#define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
32
33#endif /* !(__ASSEMBLY__) */
34
35#endif /* !(__SPARC_MMU_CONTEXT_H) */