This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / include / asm-i386 / mach-xen / asm / mmu.h
diff --git a/include/asm-i386/mach-xen/asm/mmu.h b/include/asm-i386/mach-xen/asm/mmu.h
new file mode 100644 (file)
index 0000000..05e69ad
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef __i386_MMU_H
+#define __i386_MMU_H
+
+#include <asm/semaphore.h>
+/*
+ * The i386 doesn't have a mmu context, but
+ * we put the segment information here.
+ *
+ * cpu_vm_mask is used to optimize ldt flushing.
+ +
+ * exec_limit is used to track the range PROT_EXEC
+ * mappings span.
+ */
+typedef struct { 
+       int size;
+       struct semaphore sem;
+       void *ldt;
+       struct desc_struct user_cs;
+       unsigned long exec_limit;
+       void *vdso;
+#ifdef CONFIG_XEN
+       int has_foreign_mappings;
+#endif
+} mm_context_t;
+
+/* mm/memory.c:exit_mmap hook */
+extern void _arch_exit_mmap(struct mm_struct *mm);
+#define arch_exit_mmap(_mm) _arch_exit_mmap(_mm)
+
+/* kernel/fork.c:dup_mmap hook */
+extern void _arch_dup_mmap(struct mm_struct *mm);
+#define arch_dup_mmap(mm, oldmm) ((void)(oldmm), _arch_dup_mmap(mm))
+
+#endif