From: Bin Meng <bmeng.cn@gmail.com>
To: Alistair Francis <Alistair.Francis@wdc.com>,
Bastian Koppelmann <kbastian@mail.uni-paderborn.de>,
Palmer Dabbelt <palmerdabbelt@google.com>,
Sagar Karandikar <sagark@eecs.berkeley.edu>,
qemu-devel@nongnu.org, qemu-riscv@nongnu.org
Cc: Bin Meng <bin.meng@windriver.com>
Subject: [PATCH] riscv: Change the default behavior if no -bios option is specified
Date: Fri, 1 May 2020 05:19:05 -0700 [thread overview]
Message-ID: <1588335545-649-1-git-send-email-bmeng.cn@gmail.com> (raw)
From: Bin Meng <bin.meng@windriver.com>
Per QEMU deprecated doc, QEMU 4.1 introduced support for the -bios
option in QEMU for RISC-V for the virt machine and sifive_u machine.
The default behavior has been that QEMU does not automatically load
any firmware if no -bios option is included.
Now 2 releases passed, it's time to change the default behavior to
load the default OpenSBI firmware automatically. The firmware is
included with the QEMU release and no user interaction is required.
All a user needs to do is specify the kernel they want to boot with
the -kernel option.
Signed-off-by: Bin Meng <bin.meng@windriver.com>
---
hw/riscv/boot.c | 31 ++++---------------------------
1 file changed, 4 insertions(+), 27 deletions(-)
diff --git a/hw/riscv/boot.c b/hw/riscv/boot.c
index 726300a..b76b2f3 100644
--- a/hw/riscv/boot.c
+++ b/hw/riscv/boot.c
@@ -41,34 +41,11 @@ void riscv_find_and_load_firmware(MachineState *machine,
{
char *firmware_filename = NULL;
- if (!machine->firmware) {
+ if ((!machine->firmware) || (!strcmp(machine->firmware, "default"))) {
/*
- * The user didn't specify -bios.
- * At the moment we default to loading nothing when this hapens.
- * In the future this defaul will change to loading the prebuilt
- * OpenSBI firmware. Let's warn the user and then continue.
- */
- if (!qtest_enabled()) {
- warn_report("No -bios option specified. Not loading a firmware.");
- warn_report("This default will change in a future QEMU release. " \
- "Please use the -bios option to avoid breakages when "\
- "this happens.");
- warn_report("See QEMU's deprecation documentation for details.");
- }
- return;
- }
-
- if (!strcmp(machine->firmware, "default")) {
- /*
- * The user has specified "-bios default". That means we are going to
- * load the OpenSBI binary included in the QEMU source.
- *
- * We can't load the binary by default as it will break existing users
- * as users are already loading their own firmware.
- *
- * Let's try to get everyone to specify the -bios option at all times,
- * so then in the future we can make "-bios default" the default option
- * if no -bios option is set without breaking anything.
+ * The user didn't specify -bios, or has specified "-bios default".
+ * That means we are going to load the OpenSBI binary included in
+ * the QEMU source.
*/
firmware_filename = riscv_find_firmware(default_machine_firmware);
} else if (strcmp(machine->firmware, "none")) {
--
2.7.4
next reply other threads:[~2020-05-01 12:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-01 12:19 Bin Meng [this message]
2020-05-05 20:34 ` [PATCH] riscv: Change the default behavior if no -bios option is specified Alistair Francis
2020-05-05 22:28 ` Alistair Francis
2020-05-06 1:34 ` Bin Meng
2020-05-06 20:53 ` Alistair Francis
2020-05-21 1:37 ` Bin Meng
2020-05-21 15:52 ` Alistair Francis
Reply instructions:
You may reply publicly 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=1588335545-649-1-git-send-email-bmeng.cn@gmail.com \
--to=bmeng.cn@gmail.com \
--cc=Alistair.Francis@wdc.com \
--cc=bin.meng@windriver.com \
--cc=kbastian@mail.uni-paderborn.de \
--cc=palmerdabbelt@google.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=sagark@eecs.berkeley.edu \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).