lkml.org 
[lkml]   [2016]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 07/17] kexec: Set IORESOURCE_SYSTEM_RAM to System RAM
    Date
    Set IORESOURCE_SYSTEM_RAM to 'flags' and IORES_DESC_CRASH_KERNEL
    to 'desc' of "Crash kernel" resource ranges, which are child
    nodes of System RAM.

    Change crash_shrink_memory() to set IORESOURCE_SYSTEM_RAM for
    a System RAM range.

    Change kexec_add_buffer() to call walk_iomem_res() with
    IORESOURCE_SYSTEM_RAM type for "Crash kernel".

    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: kexec@lists.infradead.org
    Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
    ---
    kernel/kexec_core.c | 8 +++++---
    kernel/kexec_file.c | 2 +-
    2 files changed, 6 insertions(+), 4 deletions(-)

    diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
    index 11b64a6..80bff05 100644
    --- a/kernel/kexec_core.c
    +++ b/kernel/kexec_core.c
    @@ -66,13 +66,15 @@ struct resource crashk_res = {
    .name = "Crash kernel",
    .start = 0,
    .end = 0,
    - .flags = IORESOURCE_BUSY | IORESOURCE_MEM
    + .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM,
    + .desc = IORES_DESC_CRASH_KERNEL
    };
    struct resource crashk_low_res = {
    .name = "Crash kernel",
    .start = 0,
    .end = 0,
    - .flags = IORESOURCE_BUSY | IORESOURCE_MEM
    + .flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM,
    + .desc = IORES_DESC_CRASH_KERNEL
    };

    int kexec_should_crash(struct task_struct *p)
    @@ -934,7 +936,7 @@ int crash_shrink_memory(unsigned long new_size)

    ram_res->start = end;
    ram_res->end = crashk_res.end;
    - ram_res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;
    + ram_res->flags = IORESOURCE_BUSY | IORESOURCE_SYSTEM_RAM;
    ram_res->name = "System RAM";

    crashk_res.end = end - 1;
    diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
    index b70ada0..c245085 100644
    --- a/kernel/kexec_file.c
    +++ b/kernel/kexec_file.c
    @@ -523,7 +523,7 @@ int kexec_add_buffer(struct kimage *image, char *buffer, unsigned long bufsz,
    /* Walk the RAM ranges and allocate a suitable range for the buffer */
    if (image->type == KEXEC_TYPE_CRASH)
    ret = walk_iomem_res("Crash kernel",
    - IORESOURCE_MEM | IORESOURCE_BUSY,
    + IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY,
    crashk_res.start, crashk_res.end, kbuf,
    locate_mem_hole_callback);
    else

    \
     
     \ /
      Last update: 2016-01-05 20:21    [W:3.729 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site