[coreboot-gerrit] New patch to review for coreboot: vboot2: Handle slow EC SW sync and graphics driver loading

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Jan 21 09:24:16 CET 2016


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13073

-gerrit

commit 25e97f0023d289e50f37482c4ff49d34ce3defae
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Wed Jan 20 13:15:12 2016 -0800

    vboot2: Handle slow EC SW sync and graphics driver loading
    
    Add flag handling for CONFIG_VBOOT_EC_SLOW_UPDATE to indicate
    to vboot that it should show the "critical update" screen during
    software sync for EC+PD.
    
    In order to make this work on x86 where we do not run graphics
    init in the normal path add handling for CONFIG_VBOOT_OPROM_MATTERS
    and indicate to vboot when the option rom has been loaded.
    
    BUG=chrome-os-partner:49560
    BRANCH=glados
    TEST=Build and boot on chell in normal mode with an EC update payload
    and ensure that it reboots to enable graphics, shows the "critical
    update" screen, and then reboots to disable graphics init again.
    
    Change-Id: I5ca46457798a22e9b08aa2febfec05b01aa788f9
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 6a1bb8572c3485f64b9f3e759288321b44184e66
    Original-Change-Id: I9f66caaac57bb9f05bc6c405814469ef7ddf4d0a
    Original-Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/322781
    Original-Reviewed-by: Aaron Durbin <adurbin at chromium.org>
---
 .../google/chromeos/vboot2/vboot_handoff.c           | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
index 246aefe..dbcc4da 100644
--- a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
+++ b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
@@ -78,12 +78,26 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff,
 		vb_sd->flags |= VBSD_LF_DEV_SWITCH_ON;
 	}
 	/* TODO: Set these in depthcharge */
-	if (CONFIG_VIRTUAL_DEV_SWITCH)
+	if (IS_ENABLED(CONFIG_VIRTUAL_DEV_SWITCH))
 		vb_sd->flags |= VBSD_HONOR_VIRT_DEV_SWITCH;
-	if (CONFIG_EC_SOFTWARE_SYNC)
+	if (IS_ENABLED(CONFIG_EC_SOFTWARE_SYNC))
 		vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC;
-	if (!CONFIG_PHYSICAL_REC_SWITCH)
+	if (!IS_ENABLED(CONFIG_PHYSICAL_REC_SWITCH))
 		vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL;
+	if (IS_ENABLED(CONFIG_VBOOT_EC_SLOW_UPDATE))
+		vb_sd->flags |= VBSD_EC_SLOW_UPDATE;
+	if (IS_ENABLED(CONFIG_VBOOT_OPROM_MATTERS)) {
+		vb_sd->flags |= VBSD_OPROM_MATTERS;
+		/*
+		 * Inform vboot if the display was enabled by dev/rec
+		 * mode or was requested by vboot kernel phase.
+		 */
+		if (*oflags & VB_INIT_OUT_ENABLE_DISPLAY ||
+		    vboot_wants_oprom()) {
+			vb_sd->flags |= VBSD_OPROM_LOADED;
+			*oflags |= VB_INIT_OUT_ENABLE_DISPLAY;
+		}
+	}
 
 	/* In vboot1, VBSD_FWB_TRIED is
 	 * set only if B is booted as explicitly requested. Therefore, if B is



More information about the coreboot-gerrit mailing list