[POWERPC] Correct the MAX_CONTEXT definition
authorPaul Mackerras <paulus@samba.org>
Thu, 29 Jun 2006 06:16:15 +0000 (16:16 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 29 Jun 2006 06:16:15 +0000 (16:16 +1000)
When we increased the address space per process to 2^44 bytes, the
number of contexts that we could actually use reduced, but we forgot
to decrease the MAX_CONTEXT definition.  (Fortunately this would only
cause problems if we actually had more than 512k user processes
running.)  This patch corrects the definition.

Signed-off-by: Paul Mackerras <paulus@samba.org>
include/asm-powerpc/mmu_context.h

index 8c6b1a6..083ac91 100644 (file)
@@ -25,8 +25,13 @@ static inline void enter_lazy_tlb(struct mm_struct *mm,
 {
 }
 
+/*
+ * The proto-VSID space has 2^35 - 1 segments available for user mappings.
+ * Each segment contains 2^28 bytes.  Each context maps 2^44 bytes,
+ * so we can support 2^19-1 contexts (19 == 35 + 28 - 44).
+ */
 #define NO_CONTEXT     0
-#define MAX_CONTEXT    (0x100000-1)
+#define MAX_CONTEXT    ((1UL << 19) - 1)
 
 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
 extern void destroy_context(struct mm_struct *mm);