blob: 00e88679e11f780af5654ae54f2bfafc7e572369 [file] [log] [blame]
Chris Snook70353022007-10-20 02:56:59 -04001#ifndef _ASM_X86_MMU_H
2#define _ASM_X86_MMU_H
3
4#include <linux/spinlock.h>
5#include <linux/mutex.h>
6
7/*
8 * The x86 doesn't have a mmu context, but
9 * we put the segment information here.
10 *
11 * cpu_vm_mask is used to optimize ldt flushing.
12 */
Joe Perches710d0e92008-03-23 01:02:44 -070013typedef struct {
Chris Snook70353022007-10-20 02:56:59 -040014 void *ldt;
15#ifdef CONFIG_X86_64
Joe Perches710d0e92008-03-23 01:02:44 -070016 rwlock_t ldtlock;
Thomas Gleixner96a388d2007-10-11 11:20:03 +020017#endif
Chris Snook70353022007-10-20 02:56:59 -040018 int size;
19 struct mutex lock;
20 void *vdso;
21} mm_context_t;
22
Venki Pallipadibde6f5f2008-01-30 13:32:01 +010023#ifdef CONFIG_SMP
24void leave_mm(int cpu);
25#else
26static inline void leave_mm(int cpu)
27{
28}
29#endif
30
Chris Snook70353022007-10-20 02:56:59 -040031#endif /* _ASM_X86_MMU_H */