summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHung-Te Lin <hungte@chromium.org>2022-01-20 17:59:49 +0800
committerCommit Bot <commit-bot@chromium.org>2022-01-28 03:16:52 +0000
commit07e20c90e151ef411a7e4700352f9e8752c3ba44 (patch)
treec440a6204df86ae4783f292a4bf021149ca31212
parent4d163c53d8ab413a35fe97325ee0c03eec481fe7 (diff)
downloadvboot-07e20c90e151ef411a7e4700352f9e8752c3ba44.tar.gz
futility: updater: use diff image when preserving ME
On recent Intel platforms with CSE, the ME/CSE may change the preserved area (for example copying ME_RW_A/CSE_RW to CSE_RO) during firmware update. As a result, we want to use the diff image instead of real system firmware contents when updating. BUG=b:213706510 TEST=build and run test BRANCH=None Change-Id: Ib75d9ebb707e240fcbb77ac72d2c08b8c6889532 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3404062 Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Nick Vaccaro <nvaccaro@google.com> Commit-Queue: YH Lin <yueherngl@chromium.org>
-rw-r--r--futility/updater_quirks.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/futility/updater_quirks.c b/futility/updater_quirks.c
index e5ee5c1b..5d996ad5 100644
--- a/futility/updater_quirks.c
+++ b/futility/updater_quirks.c
@@ -411,6 +411,15 @@ static int quirk_preserve_me(struct updater_config *cfg)
return 0;
}
+ /*
+ * b/213706510: subratabanik@ confirmed CSE may modify itself while we
+ * are doing system update, and currently the 'preserve' is done by
+ * flashing the same (e.g., "previously read") contents to skip erasing
+ * and writing; so we have to use the diff image to prevent contents
+ * being changed when writing.
+ */
+ cfg->use_diff_image = 1;
+
return 1;
}