summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorHari Bathini <hbathini@linux.vnet.ibm.com>2017-11-11 02:13:54 +0900
committerAtsushi Kumagai <ats-kumagai@wm.jp.nec.com>2018-01-23 11:41:24 +0900
commit3c39f139d5b60a47e7233ea675d6ab0a1b7bf1d6 (patch)
treed157e3fa6bafc34838669c911e2ef8d803e75f68 /arch
parent13d3059c6df80d121b095d0ccf6bd1c287323bc5 (diff)
[PATCH] ppc64: update hash page table geometry
* Required for kernel 4.12 Starting with kernel 4.12, BOOK3S hash page table geometry is updated to accommodate larger virtual address range. Update here accordingly. Signed-off-by: Hari Bathini <hbathini@linux.vnet.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/ppc64.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/ppc64.c b/arch/ppc64.c
index 2f5a0da..8bdbcc5 100644
--- a/arch/ppc64.c
+++ b/arch/ppc64.c
@@ -245,10 +245,16 @@ ppc64_vmalloc_init(void)
} else if (info->kernel_version >= KERNEL_VERSION(4, 6, 0)) {
info->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
- info->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_6;
- info->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_6;
- info->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
+ if (info->kernel_version >= KERNEL_VERSION(4, 12, 0)) {
+ info->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_12;
+ info->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_12;
+ info->l4_index_size = PGD_INDEX_SIZE_L4_64K_4_12;
+ } else {
+ info->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_6;
+ info->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_6;
+ info->l4_index_size = PGD_INDEX_SIZE_L4_64K_3_10;
+ }
} else if (info->kernel_version >= KERNEL_VERSION(3, 10, 0)) {
info->l1_index_size = PTE_INDEX_SIZE_L4_64K_3_10;
info->l2_index_size = PMD_INDEX_SIZE_L4_64K_3_10;