summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm/mmu_context.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-11 03:03:30 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-11 03:03:30 +0100
commitf45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89 (patch)
tree8e05bccd7b85fc3dd2fbd33ec3286de27e152819 /arch/parisc/include/asm/mmu_context.h
parent79f3b3cb7a2586b319a43a7f29924c6c555e4357 (diff)
parentc59765042f53a79a7a65585042ff463b69cb248c (diff)
downloadlinux-f45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89.tar.gz
linux-f45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89.tar.bz2
linux-f45ac22ae2b8fc5b4c32d9b8d17ea419a8701d89.zip
Merge commit 'v2.6.29-rc1' into x86/urgent
Diffstat (limited to 'arch/parisc/include/asm/mmu_context.h')
-rw-r--r--arch/parisc/include/asm/mmu_context.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/parisc/include/asm/mmu_context.h b/arch/parisc/include/asm/mmu_context.h
index 85856c74ad1d..354b2aca990e 100644
--- a/arch/parisc/include/asm/mmu_context.h
+++ b/arch/parisc/include/asm/mmu_context.h
@@ -34,16 +34,21 @@ destroy_context(struct mm_struct *mm)
mm->context = 0;
}
-static inline void load_context(mm_context_t context)
+static inline unsigned long __space_to_prot(mm_context_t context)
{
- mtsp(context, 3);
#if SPACEID_SHIFT == 0
- mtctl(context << 1,8);
+ return context << 1;
#else
- mtctl(context >> (SPACEID_SHIFT - 1),8);
+ return context >> (SPACEID_SHIFT - 1);
#endif
}
+static inline void load_context(mm_context_t context)
+{
+ mtsp(context, 3);
+ mtctl(__space_to_prot(context), 8);
+}
+
static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk)
{