mips: Make sure kernel .bss exists in boot mem pool
authorSerge Semin <fancer.lancer@gmail.com>
Tue, 23 Apr 2019 22:47:37 +0000 (01:47 +0300)
committerPaul Burton <paul.burton@mips.com>
Wed, 24 Apr 2019 22:24:43 +0000 (15:24 -0700)
Current MIPS platform code makes sure the kernel text, data and init
sections are added to the boot memory map pool right after the
arch-specific memory setup method has been executed. But for some reason
the MIPS platform code skipped the kernel .bss section, which definitely
should be in the boot mem pool as well in any case. Lets fix this just be
adding the space between __bss_start and __bss_stop.

Reviewed-by: Matt Redfearn <matt.redfearn@mips.com>
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Thomas Bogendoerfer <tbogendoerfer@suse.de>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
arch/mips/kernel/setup.c

index 8d1dc6c..0ee033c 100644 (file)
@@ -809,6 +809,9 @@ static void __init arch_mem_init(char **cmdline_p)
        arch_mem_addpart(PFN_UP(__pa_symbol(&__init_begin)) << PAGE_SHIFT,
                         PFN_DOWN(__pa_symbol(&__init_end)) << PAGE_SHIFT,
                         BOOT_MEM_INIT_RAM);
+       arch_mem_addpart(PFN_DOWN(__pa_symbol(&__bss_start)) << PAGE_SHIFT,
+                        PFN_UP(__pa_symbol(&__bss_stop)) << PAGE_SHIFT,
+                        BOOT_MEM_RAM);
 
        pr_info("Determined physical RAM map:\n");
        print_memory_map();