Linux-RISC-V Archive on lore.kernel.org
 help / Atom feed
From: Anup Patel <Anup.Patel@wdc.com>
To: Palmer Dabbelt <palmer@sifive.com>, Albert Ou <aou@eecs.berkeley.edu>
Cc: Anup Patel <Anup.Patel@wdc.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@infradead.org>,
	Atish Patra <Atish.Patra@wdc.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>
Subject: [PATCH v3 6/6] RISC-V: Implement keepinitrd kernel parameter
Date: Tue, 12 Feb 2019 14:01:19 +0000
Message-ID: <20190212135942.105008-7-anup.patel@wdc.com> (raw)
In-Reply-To: <20190212135942.105008-1-anup.patel@wdc.com>

This patch implements keepinitrd kernel parameter. By default,
keepinitrd=0 so initrd memory will be freed by default freed but
users can pass "keepinitrd=1" to keep the initrd memory.

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


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  parent reply index

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-12 14:00 [PATCH v3 0/6] Fixmap support and MM cleanups Anup Patel
2019-02-12 14:00 ` [PATCH v3 1/6] RISC-V: Move free_initrd_mem() to kernel/setup.c Anup Patel
2019-02-12 14:00 ` [PATCH v3 2/6] RISC-V: Setup init_mm before parse_early_param() Anup Patel
2019-02-12 14:00 ` [PATCH v3 3/6] RISC-V: Move setup_bootmem() to mm/init.c Anup Patel
2019-02-12 14:00 ` [PATCH v3 4/6] RISC-V: Move setup_vm() " Anup Patel
2019-02-12 14:00 ` [PATCH v3 5/6] RISC-V: Implement compile-time fixed mappings Anup Patel
2019-02-12 14:01 ` Anup Patel [this message]
2019-02-12 14:07   ` [PATCH v3 6/6] RISC-V: Implement keepinitrd kernel parameter Andreas Schwab

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190212135942.105008-7-anup.patel@wdc.com \
    --to=anup.patel@wdc.com \
    --cc=Atish.Patra@wdc.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=palmer@sifive.com \
    --cc=paul.walmsley@sifive.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-RISC-V Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-riscv/0 linux-riscv/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-riscv linux-riscv/ https://lore.kernel.org/linux-riscv \
		linux-riscv@lists.infradead.org infradead-linux-riscv@archiver.kernel.org
	public-inbox-index linux-riscv


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-riscv


AGPL code for this site: git clone https://public-inbox.org/ public-inbox