fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-i386 / mmu.h
1 #ifndef __i386_MMU_H
2 #define __i386_MMU_H
3
4 #include <asm/semaphore.h>
5 /*
6  * The i386 doesn't have a mmu context, but
7  * we put the segment information here.
8  *
9  * cpu_vm_mask is used to optimize ldt flushing.
10  * exec_limit is used to track the range PROT_EXEC
11  * mappings span.
12  */
13 typedef struct { 
14         int size;
15         struct semaphore sem;
16         void *ldt;
17         struct desc_struct user_cs;
18         unsigned long exec_limit;
19         void *vdso;
20 #ifdef CONFIG_XEN
21         int has_foreign_mappings;
22 #endif
23 } mm_context_t;
24
25 #ifdef CONFIG_XEN
26 /* mm/memory.c:exit_mmap hook */
27 extern void _arch_exit_mmap(struct mm_struct *mm);
28 #define arch_exit_mmap(_mm) _arch_exit_mmap(_mm)
29
30 /* kernel/fork.c:dup_mmap hook */
31 extern void _arch_dup_mmap(struct mm_struct *mm);
32 #define arch_dup_mmap(mm, oldmm) ((void)(oldmm), _arch_dup_mmap(mm))
33 #endif /* CONFIG_XEN */
34
35 #endif