Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 242a112a authored by Martin Schwidefsky's avatar Martin Schwidefsky
Browse files

s390/setup: correct 4-level kernel page table detection



Fix calculation to decide if a 4-level kernel page table is required.
Git commit c972cc60 "s390/vmalloc: have separate modules area"
added the separate module area which reduces the size of the vmalloc
area but fails to take it into account for the 3 vs 4 level page table
decision.

Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 48e9a6c1
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -452,8 +452,8 @@ static void __init setup_memory_end(void)
#ifdef CONFIG_64BIT
	vmalloc_size = VMALLOC_END ?: (128UL << 30) - MODULES_LEN;
	tmp = (memory_end ?: max_physmem_end) / PAGE_SIZE;
	tmp = tmp * (sizeof(struct page) + PAGE_SIZE) + vmalloc_size;
	if (tmp <= (1UL << 42))
	tmp = tmp * (sizeof(struct page) + PAGE_SIZE);
	if (tmp + vmalloc_size + MODULES_LEN <= (1UL << 42))
		vmax = 1UL << 42;	/* 3-level kernel page table */
	else
		vmax = 1UL << 53;	/* 4-level kernel page table */