提交 9dbd7b91 编写于 作者: P Peter Watkins 提交者: Ralf Baechle

[MIPS] Fix USER_PTRS_PER_PGD for 64K page size.

The code in pgtable-64.h assumes TASK_SIZE is always bigger than a first
level PGDIR_SIZE. This is not the case for 64K pages, where task size is
40 bits (1TB) and a pgd entry can map 42 bits. This leads to
USER_PTRS_PER_PGD being zero for 64K pages.
Signed-off-by: NPeter Watkins <treestem@gmail.com>
Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
上级 663c3d90
...@@ -93,8 +93,12 @@ ...@@ -93,8 +93,12 @@
#define PTRS_PER_PMD ((PAGE_SIZE << PMD_ORDER) / sizeof(pmd_t)) #define PTRS_PER_PMD ((PAGE_SIZE << PMD_ORDER) / sizeof(pmd_t))
#define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t)) #define PTRS_PER_PTE ((PAGE_SIZE << PTE_ORDER) / sizeof(pte_t))
#if PGDIR_SIZE >= TASK_SIZE
#define USER_PTRS_PER_PGD (1)
#else
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE) #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_ADDRESS 0 #endif
#define FIRST_USER_ADDRESS 0UL
#define VMALLOC_START MAP_BASE #define VMALLOC_START MAP_BASE
#define VMALLOC_END \ #define VMALLOC_END \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册