RISCV: Fix end PFN for low memory
authorAtish Patra <atish.patra@wdc.com>
Tue, 11 Sep 2018 18:30:18 +0000 (11:30 -0700)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 2 Oct 2018 19:50:01 +0000 (12:50 -0700)
Use memblock_end_of_DRAM which provides correct last low memory
PFN. Without that, DMA32 region becomes empty resulting in zero
pages being allocated for DMA32.

This patch is based on earlier patch from palmer which never
merged into 4.19. I just edited the commit text to make more
sense.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
arch/riscv/kernel/setup.c

index aee6031..b2d26d9 100644 (file)
@@ -186,7 +186,7 @@ static void __init setup_bootmem(void)
        BUG_ON(mem_size == 0);
 
        set_max_mapnr(PFN_DOWN(mem_size));
-       max_low_pfn = pfn_base + PFN_DOWN(mem_size);
+       max_low_pfn = memblock_end_of_DRAM();
 
 #ifdef CONFIG_BLK_DEV_INITRD
        setup_initrd();