Explorar o código

[POWERPC] Correct the MAX_CONTEXT definition

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>
Paul Mackerras %!s(int64=19) %!d(string=hai) anos
pai
achega
1729dc7833
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  1. 6 1
      include/asm-powerpc/mmu_context.h

+ 6 - 1
include/asm-powerpc/mmu_context.h

@@ -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 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 int init_new_context(struct task_struct *tsk, struct mm_struct *mm);
 extern void destroy_context(struct mm_struct *mm);
 extern void destroy_context(struct mm_struct *mm);