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