MIPS: Add iomem resource for kernel bss section.
authorDavid Daney <david.daney@cavium.com>
Thu, 12 Oct 2017 19:50:34 +0000 (12:50 -0700)
committerJames Hogan <jhogan@kernel.org>
Mon, 13 Nov 2017 17:40:49 +0000 (17:40 +0000)
The kexec/kdump tools need to know where the .bss is so it can be
included in the core dump.  This allows vmcore-dmesg to have access to
the dmesg buffers of the crashed kernel as well as allowing the
debugger to examine variables in the bss section.

Add a request for the bss resource in addition to the already
requested code and data sections.

Signed-off-by: David Daney <david.daney@cavium.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Steven J. Hill <steven.hill@cavium.com>,
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17485/
Signed-off-by: James Hogan <jhogan@kernel.org>
arch/mips/kernel/setup.c

index fe3939726765155e08d6b4b6e8b678f334b9756f..702c678de1166bd7cbef012cb2c00d556f85666c 100644 (file)
@@ -80,6 +80,7 @@ EXPORT_SYMBOL(mips_io_port_base);
 
 static struct resource code_resource = { .name = "Kernel code", };
 static struct resource data_resource = { .name = "Kernel data", };
+static struct resource bss_resource = { .name = "Kernel bss", };
 
 static void *detect_magic __initdata = detect_memory_region;
 
@@ -927,6 +928,8 @@ static void __init resource_init(void)
        code_resource.end = __pa_symbol(&_etext) - 1;
        data_resource.start = __pa_symbol(&_etext);
        data_resource.end = __pa_symbol(&_edata) - 1;
+       bss_resource.start = __pa_symbol(&__bss_start);
+       bss_resource.end = __pa_symbol(&__bss_stop) - 1;
 
        for (i = 0; i < boot_mem_map.nr_map; i++) {
                struct resource *res;
@@ -966,6 +969,7 @@ static void __init resource_init(void)
                 */
                request_resource(res, &code_resource);
                request_resource(res, &data_resource);
+               request_resource(res, &bss_resource);
                request_crashkernel(res);
        }
 }