From: Masami Hiramatsu <masami.hiramatsu@linaro.org>
To: u-boot@lists.denx.de
Cc: Masami Hiramatsu <masami.hiramatsu@linaro.org>,
Patrick Delaunay <patrick.delaunay@foss.st.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
Heinrich Schuchardt <xypron.glpk@gmx.de>,
Alexander Graf <agraf@csgraf.de>,
AKASHI Takahiro <takahiro.akashi@linaro.org>,
Simon Glass <sjg@chromium.org>, Bin Meng <bmeng.cn@gmail.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Jose Marinho <jose.marinho@arm.com>,
Grant Likely <grant.likely@arm.com>,
Tom Rini <trini@konsulko.com>,
Etienne Carriere <etienne.carriere@linaro.org>,
Sughosh Ganu <sughosh.ganu@linaro.org>,
Paul Liu <paul.liu@linaro.org>
Subject: [RFC PATCH 10/14] FWU: Reboot soon after successfully install the new firmware
Date: Fri, 21 Jan 2022 00:31:00 +0900 [thread overview]
Message-ID: <164269266038.39378.1931983995518536620.stgit@localhost> (raw)
In-Reply-To: <164269255955.39378.260729958623102750.stgit@localhost>
Reboot to the trial state soon after successfully installing
the new firmware to the next bank and updating the active_index.
This is enabled by CONFIG_FWU_REBOOT_AFTER_UPDATE and is a
recommended option.
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
---
lib/efi_loader/efi_capsule.c | 10 ++++++++--
lib/fwu_updates/Kconfig | 9 +++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c
index 83c89a0cbb..0928425b5f 100644
--- a/lib/efi_loader/efi_capsule.c
+++ b/lib/efi_loader/efi_capsule.c
@@ -1355,10 +1355,16 @@ efi_status_t efi_launch_capsules(void)
} else {
log_debug("Successfully updated the active_index\n");
status = fwu_trial_state_ctr_start();
- if (status < 0)
+ if (status < 0) {
ret = EFI_DEVICE_ERROR;
- else
+ } else {
ret = EFI_SUCCESS;
+ if (IS_ENABLED(CONFIG_FWU_REBOOT_AFTER_UPDATE)) {
+ log_info("New firmware is installed in bank#%d. Reboot from that bank.\n",
+ update_index);
+ do_reset(NULL, 0, 0, NULL);
+ }
+ }
}
} else if (capsule_update == true && update_status == false) {
log_err("All capsules were not updated. Not updating FWU metadata\n");
diff --git a/lib/fwu_updates/Kconfig b/lib/fwu_updates/Kconfig
index 6de28e0c9c..0940a90747 100644
--- a/lib/fwu_updates/Kconfig
+++ b/lib/fwu_updates/Kconfig
@@ -29,3 +29,12 @@ config FWU_TRIAL_STATE_CNT
With FWU Multi Bank Update feature enabled, number of times
the platform is allowed to boot in Trial State after an
update.
+
+config FWU_REBOOT_AFTER_UPDATE
+ bool "Reboot soon after installing new firmware"
+ depends on FWU_MULTI_BANK_UPDATE
+ default y
+ help
+ Reboot the machine soon after installing a new firmware
+ and start trial boot. You can disable this option for
+ debugging or FWU development, but recommended to enable it.
next prev parent reply other threads:[~2022-01-20 15:31 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-20 15:29 [RFC PATCH 00/14] FWU: Add FWU Multi Bank Update for DeveloerBox Masami Hiramatsu
2022-01-20 15:29 ` [RFC PATCH 01/14] DFU: Do not copy the entity name over the buffer size Masami Hiramatsu
2022-01-20 15:29 ` [RFC PATCH 02/14] DFU: Accept redundant spaces and tabs in dfu_alt_info Masami Hiramatsu
2022-01-20 15:29 ` [RFC PATCH 03/14] DFU: Check the number of arguments and argument string strictly Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 04/14] doc: usage: DFU: Fix dfu_alt_info document Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 05/14] cmd/dfu: Enable 'dfu list' command without DFU_OVER_USB Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 06/14] FWU: Calculate CRC32 in gpt_update_mdata() Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 07/14] FWU: Free metadata copy if gpt_get_mdata() failed Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 08/14] FWU: Move FWU metadata operation code in fwu_mdata.c Masami Hiramatsu
2022-01-20 15:30 ` [RFC PATCH 09/14] synquacer: Update for TBBR based new FIP layout Masami Hiramatsu
2022-01-20 15:31 ` Masami Hiramatsu [this message]
2022-01-21 1:46 ` [RFC PATCH 10/14] FWU: Reboot soon after successfully install the new firmware AKASHI Takahiro
2022-01-21 4:35 ` Masami Hiramatsu
2022-01-21 6:54 ` Masami Hiramatsu
2022-01-21 7:08 ` AKASHI Takahiro
2022-01-20 15:31 ` [RFC PATCH 11/14] FWU: Add FWU Multi Bank Update on SPI Flash Masami Hiramatsu
2022-01-21 2:20 ` AKASHI Takahiro
2022-01-21 4:41 ` Masami Hiramatsu
2022-01-20 15:31 ` [RFC PATCH 12/14] FWU: synquacer: Add FWU Multi bank update support for DeveloperBox Masami Hiramatsu
2022-01-21 2:22 ` AKASHI Takahiro
2022-01-21 4:40 ` Masami Hiramatsu
2022-01-20 15:31 ` [RFC PATCH 13/14] FWU: synquacer: Initialize broken metadata Masami Hiramatsu
2022-01-20 15:31 ` [RFC PATCH 14/14] configs: synquacer: Add FWU support for DeveloperBox Masami Hiramatsu
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=164269266038.39378.1931983995518536620.stgit@localhost \
--to=masami.hiramatsu@linaro.org \
--cc=agraf@csgraf.de \
--cc=bmeng.cn@gmail.com \
--cc=etienne.carriere@linaro.org \
--cc=grant.likely@arm.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jose.marinho@arm.com \
--cc=patrice.chotard@foss.st.com \
--cc=patrick.delaunay@foss.st.com \
--cc=paul.liu@linaro.org \
--cc=sjg@chromium.org \
--cc=sughosh.ganu@linaro.org \
--cc=takahiro.akashi@linaro.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.