Explorar o código

[MIPS] Compute PGD_ORDER from the select page size.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle %!s(int64=18) %!d(string=hai) anos
pai
achega
99e480d81c
Modificáronse 1 ficheiros con 2 adicións e 8 borrados
  1. 2 8
      include/asm-mips/pgtable-32.h

+ 2 - 8
include/asm-mips/pgtable-32.h

@@ -51,17 +51,11 @@ extern int add_temporary_entry(unsigned long entrylo0, unsigned long entrylo1,
  * Entries per page directory level: we use two-level, so
  * we don't really have any PUD/PMD directory physically.
  */
-#ifdef CONFIG_64BIT_PHYS_ADDR
-#define PGD_ORDER	1
-#define PUD_ORDER	aieeee_attempt_to_allocate_pud
-#define PMD_ORDER	1
-#define PTE_ORDER	0
-#else
-#define PGD_ORDER	0
+#define __PGD_ORDER	(32 - 3 * PAGE_SHIFT + PGD_T_LOG2 + PTE_T_LOG2)
+#define PGD_ORDER	(__PGD_ORDER >= 0 ? __PGD_ORDER : 0)
 #define PUD_ORDER	aieeee_attempt_to_allocate_pud
 #define PMD_ORDER	1
 #define PTE_ORDER	0
-#endif
 
 #define PTRS_PER_PGD	((PAGE_SIZE << PGD_ORDER) / sizeof(pgd_t))
 #define PTRS_PER_PTE	((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t))