rwlock_t ldtlock;
int size;
struct semaphore sem;
+#ifdef CONFIG_XEN
+ unsigned pinned:1;
+ unsigned has_foreign_mappings:1;
+ struct list_head unpinned;
+#endif
} mm_context_t;
+#ifdef CONFIG_XEN
+extern struct list_head mm_unpinned;
+extern spinlock_t mm_unpinned_lock;
+
+/* 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
+
#endif