[MIPS] Fix computation of PGDIR_SHIFT for 16K pagesize on 32-bit kernels.
authorRalf Baechle <ralf@linux-mips.org>
Tue, 31 Jul 2007 20:47:03 +0000 (21:47 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 27 Aug 2007 01:16:48 +0000 (02:16 +0100)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
include/asm-mips/pgtable-32.h

index 2fbd47e..ff29485 100644 (file)
@@ -43,11 +43,7 @@ extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
  */
 
 /* PGDIR_SHIFT determines what a third-level page table entry can map */
-#ifdef CONFIG_64BIT_PHYS_ADDR
-#define PGDIR_SHIFT    21
-#else
-#define PGDIR_SHIFT    22
-#endif
+#define PGDIR_SHIFT    (2 * PAGE_SHIFT + PTE_ORDER - PTE_T_LOG2)
 #define PGDIR_SIZE     (1UL << PGDIR_SHIFT)
 #define PGDIR_MASK     (~(PGDIR_SIZE-1))