blob: a30d7a9c82972754ce35de9b166b9ccff6fec2be [file] [log] [blame]
Vegard Nossum77ef50a2008-06-18 17:08:48 +02001#ifndef ASM_X86__MMU_H
2#define ASM_X86__MMU_H
Chris Snook70353022007-10-20 02:56:59 -04003
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
Vegard Nossum77ef50a2008-06-18 17:08:48 +020031#endif /* ASM_X86__MMU_H */