lkml.org 
[lkml]   [2019]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 6/6] RISC-V: Implement keepinitrd kernel parameter
    Date
    This patch implements keepinitrd kernel parameter. By default,
    keepinitrd=1 but users can pass "keepinitrd=0" to free-up
    initrd memory at boot-time in free_initrd_mem() function.

    The keepinitrd kernel parameter is already implemented by
    unicore32, arm, and arm64 architectures and it is documented
    at: Documentation/admin-guide/kernel-parameters.txt

    Signed-off-by: Anup Patel <anup.patel@wdc.com>
    ---
    arch/riscv/kernel/setup.c | 14 +++++++++++++-
    1 file changed, 13 insertions(+), 1 deletion(-)

    diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
    index 9cd583b6d1cd..46e547dd8245 100644
    --- a/arch/riscv/kernel/setup.c
    +++ b/arch/riscv/kernel/setup.c
    @@ -97,8 +97,20 @@ static void __init setup_initrd(void)
    initrd_end = 0;
    }

    -void free_initrd_mem(unsigned long start, unsigned long end)
    +static int keep_initrd __initdata;
    +
    +static int __init keepinitrd_setup(char *__unused)
    +{
    + keep_initrd = 1;
    + return 1;
    +}
    +
    +__setup("keepinitrd", keepinitrd_setup);
    +
    +void __init free_initrd_mem(unsigned long start, unsigned long end)
    {
    + if (!keep_initrd)
    + memblock_free(__pa(start), end - start);
    }
    #endif /* CONFIG_BLK_DEV_INITRD */

    --
    2.17.1
    \
     
     \ /
      Last update: 2019-01-19 14:29    [W:2.955 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site