X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-x86_64%2Fmach-xen%2Fasm%2Fmmu.h;fp=include%2Fasm-x86_64%2Fmach-xen%2Fasm%2Fmmu.h;h=2ac82529546021030476180b0a49c1fd8a135fb3;hb=1db395853d4f30d6120458bd279ede1f882a8525;hp=0000000000000000000000000000000000000000;hpb=34a75f0025b9cf803b6a88db032e6ad6950c9313;p=linux-2.6.git diff --git a/include/asm-x86_64/mach-xen/asm/mmu.h b/include/asm-x86_64/mach-xen/asm/mmu.h new file mode 100644 index 000000000..2ac825295 --- /dev/null +++ b/include/asm-x86_64/mach-xen/asm/mmu.h @@ -0,0 +1,38 @@ +#ifndef __x86_64_MMU_H +#define __x86_64_MMU_H + +#include +#include + +/* + * The x86_64 doesn't have a mmu context, but + * we put the segment information here. + * + * cpu_vm_mask is used to optimize ldt flushing. + */ +typedef struct { + void *ldt; + 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