Chris Snook | 7035302 | 2007-10-20 02:56:59 -0400 | [diff] [blame] | 1 | #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 Perches | 710d0e9 | 2008-03-23 01:02:44 -0700 | [diff] [blame] | 13 | typedef struct { |
Chris Snook | 7035302 | 2007-10-20 02:56:59 -0400 | [diff] [blame] | 14 | void *ldt; |
| 15 | #ifdef CONFIG_X86_64 |
Joe Perches | 710d0e9 | 2008-03-23 01:02:44 -0700 | [diff] [blame] | 16 | rwlock_t ldtlock; |
Thomas Gleixner | 96a388d | 2007-10-11 11:20:03 +0200 | [diff] [blame] | 17 | #endif |
Chris Snook | 7035302 | 2007-10-20 02:56:59 -0400 | [diff] [blame] | 18 | int size; |
| 19 | struct mutex lock; |
| 20 | void *vdso; |
| 21 | } mm_context_t; |
| 22 | |
Venki Pallipadi | bde6f5f | 2008-01-30 13:32:01 +0100 | [diff] [blame] | 23 | #ifdef CONFIG_SMP |
| 24 | void leave_mm(int cpu); |
| 25 | #else |
| 26 | static inline void leave_mm(int cpu) |
| 27 | { |
| 28 | } |
| 29 | #endif |
| 30 | |
Chris Snook | 7035302 | 2007-10-20 02:56:59 -0400 | [diff] [blame] | 31 | #endif /* _ASM_X86_MMU_H */ |