Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / arch / x86 / include / asm / mmu_context.h
1 #ifndef _ASM_X86_MMU_CONTEXT_H
2 #define _ASM_X86_MMU_CONTEXT_H
3
4 #include <asm/desc.h>
5 #include <asm/atomic.h>
6 #include <asm/pgalloc.h>
7 #include <asm/tlbflush.h>
8 #include <asm/paravirt.h>
9 #ifndef CONFIG_PARAVIRT
10 #include <asm-generic/mm_hooks.h>
11
12 static inline void paravirt_activate_mm(struct mm_struct *prev,
13                                         struct mm_struct *next)
14 {
15 }
16 #endif  /* !CONFIG_PARAVIRT */
17
18 /*
19  * Used for LDT copy/destruction.
20  */
21 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
22 void destroy_context(struct mm_struct *mm);
23
24 #ifdef CONFIG_X86_32
25 # include "mmu_context_32.h"
26 #else
27 # include "mmu_context_64.h"
28 #endif
29
30 #define activate_mm(prev, next)                 \
31 do {                                            \
32         paravirt_activate_mm((prev), (next));   \
33         switch_mm((prev), (next), NULL);        \
34 } while (0);
35
36
37 #endif /* _ASM_X86_MMU_CONTEXT_H */