From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-arm@nongnu.org, qemu-devel@nongnu.org
Cc: patches@linaro.org, Igor Mammedov <imammedo@redhat.com>,
Hongbo Zhang <hongbo.zhang@linaro.org>
Subject: [Qemu-devel] [PATCH 0/5] hw/arm/boot: Support DTB autoload for firmware-only boots
Date: Thu, 31 Jan 2019 11:22:35 +0000 [thread overview]
Message-ID: <20190131112240.8395-1-peter.maydell@linaro.org> (raw)
The arm_boot_info struct has a skip_dtb_autoload flag: if this is
set to true by the board code then arm_load_kernel() will not
load the DTB itself, but will leave this for the board code to
do itself later. However, the check for this is done in a
code path which is only executed for the case where we load
a kernel image file. If we're taking the "boot via firmware"
code path then the flag isn't honoured and the DTB is never
loaded.
We didn't notice this because the only real user of "boot
via firmware" that cares about the DTB is the virt board
(for UEFI boot), and that always wants skip_dtb_autoload
anyway. But the SBSA reference board model we're planning to
add will want the flag to behave correctly.
The first four patches in this set are just refactoring,
splitting the code in arm_load_kernel() out into a
couple of sub-functions for "direct kernel boot" and
"firmware boot". The last patch that fixes the issue is
then just a one-liner. (Without the refactoring we'd
need to use a goto, which is what I wanted to avoid.)
thanks
-- PMM
Peter Maydell (5):
hw/arm/boot: Fix block comment style in arm_load_kernel()
hw/arm/boot: Factor out "direct kernel boot" code into its own
function
hw/arm/boot: Factor out "set up firmware boot" code
hw/arm/boot: Clarify why arm_setup_firmware_boot() doesn't set
env->boot_info
hw/arm/boot: Support DTB autoload for firmware-only boots
hw/arm/boot.c | 166 +++++++++++++++++++++++++++++---------------------
1 file changed, 96 insertions(+), 70 deletions(-)
--
2.20.1
next reply other threads:[~2019-01-31 11:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-31 11:22 Peter Maydell [this message]
2019-01-31 11:22 ` [Qemu-devel] [PATCH 1/5] hw/arm/boot: Fix block comment style in arm_load_kernel() Peter Maydell
2019-01-31 11:22 ` [Qemu-devel] [PATCH 2/5] hw/arm/boot: Factor out "direct kernel boot" code into its own function Peter Maydell
2019-02-05 15:16 ` Igor Mammedov
2019-02-05 15:24 ` Peter Maydell
2019-01-31 11:22 ` [Qemu-devel] [PATCH 3/5] hw/arm/boot: Factor out "set up firmware boot" code Peter Maydell
2019-01-31 11:22 ` [Qemu-devel] [PATCH 4/5] hw/arm/boot: Clarify why arm_setup_firmware_boot() doesn't set env->boot_info Peter Maydell
2019-01-31 11:22 ` [Qemu-devel] [PATCH 5/5] hw/arm/boot: Support DTB autoload for firmware-only boots Peter Maydell
2019-01-31 22:44 ` [Qemu-devel] [PATCH 0/5] " Richard Henderson
2019-02-05 15:18 ` Igor Mammedov
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=20190131112240.8395-1-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=hongbo.zhang@linaro.org \
--cc=imammedo@redhat.com \
--cc=patches@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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).