diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index a5360de85ec7..29268859d8ee 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -571,6 +571,8 @@ static void __init setup_memory_end(void) | |||
571 | 571 | ||
572 | /* Split remaining virtual space between 1:1 mapping & vmemmap array */ | 572 | /* Split remaining virtual space between 1:1 mapping & vmemmap array */ |
573 | tmp = VMALLOC_START / (PAGE_SIZE + sizeof(struct page)); | 573 | tmp = VMALLOC_START / (PAGE_SIZE + sizeof(struct page)); |
574 | /* vmemmap contains a multiple of PAGES_PER_SECTION struct pages */ | ||
575 | tmp = SECTION_ALIGN_UP(tmp); | ||
574 | tmp = VMALLOC_START - tmp * sizeof(struct page); | 576 | tmp = VMALLOC_START - tmp * sizeof(struct page); |
575 | tmp &= ~((vmax >> 11) - 1); /* align to page table level */ | 577 | tmp &= ~((vmax >> 11) - 1); /* align to page table level */ |
576 | tmp = min(tmp, 1UL << MAX_PHYSMEM_BITS); | 578 | tmp = min(tmp, 1UL << MAX_PHYSMEM_BITS); |