x86: change early_ioremap to use slots instead of nesting
[safe/jmp/linux-2.6] / include / asm-x86 / mmu_context_64.h
index 98bfe43..2675867 100644 (file)
@@ -1,34 +1,17 @@
-#ifndef __X86_64_MMU_CONTEXT_H
-#define __X86_64_MMU_CONTEXT_H
+#ifndef ASM_X86__MMU_CONTEXT_64_H
+#define ASM_X86__MMU_CONTEXT_64_H
 
-#include <asm/desc.h>
-#include <asm/atomic.h>
-#include <asm/pgalloc.h>
 #include <asm/pda.h>
-#include <asm/pgtable.h>
-#include <asm/tlbflush.h>
-#include <asm-generic/mm_hooks.h>
-
-/*
- * possibly do the LDT unload here?
- */
-int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
-void destroy_context(struct mm_struct *mm);
 
 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
 {
 #ifdef CONFIG_SMP
-       if (read_pda(mmu_state) == TLBSTATE_OK) 
+       if (read_pda(mmu_state) == TLBSTATE_OK)
                write_pda(mmu_state, TLBSTATE_LAZY);
 #endif
 }
 
-static inline void load_cr3(pgd_t *pgd)
-{
-       asm volatile("movq %0,%%cr3" :: "r" (__pa(pgd)) : "memory");
-}
-
-static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, 
+static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
                             struct task_struct *tsk)
 {
        unsigned cpu = smp_processor_id();
@@ -42,7 +25,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
                cpu_set(cpu, next->cpu_vm_mask);
                load_cr3(next->pgd);
 
-               if (unlikely(next->context.ldt != prev->context.ldt)) 
+               if (unlikely(next->context.ldt != prev->context.ldt))
                        load_LDT_nolock(&next->context);
        }
 #ifdef CONFIG_SMP
@@ -51,7 +34,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
                if (read_pda(active_mm) != next)
                        BUG();
                if (!cpu_test_and_set(cpu, next->cpu_vm_mask)) {
-                       /* We were in lazy tlb mode and leave_mm disabled 
+                       /* We were in lazy tlb mode and leave_mm disabled
                         * tlb flush IPI delivery. We must reload CR3
                         * to make sure to use no freed page tables.
                         */
@@ -62,13 +45,10 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
 #endif
 }
 
-#define deactivate_mm(tsk,mm)  do { \
-       load_gs_index(0); \
-       asm volatile("movl %0,%%fs"::"r"(0));  \
-} while(0)
+#define deactivate_mm(tsk, mm)                 \
+do {                                           \
+       load_gs_index(0);                       \
+       asm volatile("movl %0,%%fs"::"r"(0));   \
+} while (0)
 
-#define activate_mm(prev, next) \
-       switch_mm((prev),(next),NULL)
-
-
-#endif
+#endif /* ASM_X86__MMU_CONTEXT_64_H */