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 aee6031230306a934747c64edb4b61f6928e9e8b..b2d26d9d8489c8e8b6bba01adee0c573fd6564f8 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();