[coreboot-gerrit] Patch set updated for coreboot: d10427b vboot: add physical recovery switch support

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Apr 9 21:58:51 CEST 2015


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

-gerrit

commit d10427b111747717ecf8ac2821b8294f0d97fa89
Author: Daisuke Nojiri <dnojiri at chromium.org>
Date:   Thu Nov 13 11:35:52 2014 -0800

    vboot: add physical recovery switch support
    
    PHYSICAL_REC_SWITCH is set n by default and y for panther and stumpy.
    
    BUG=none
    BRANCH=ToT
    TEST=Built nyan_blaze using vboot1/2. Built falco, lumpy, nyan,
    blaze, parrot, rambi, samus, storm, pinky with default configuration.
    panther and stumpy are not tested because they currently don't build on ToT.
    
    Original-Change-Id: Ic45f78708aaa7e485d2ab459fd1948524edb412f
    Original-Signed-off-by: Daisuke Nojiri <dnojiri at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/227940
    Original-Reviewed-on: https://chromium-review.googlesource.com/229602
    Original-Reviewed-by: Randall Spangler <rspangler at chromium.org>
    Original-Reviewed-by: David Hendricks <dhendrix at chromium.org>
    
    (cherry picked from commit edb2ba347b48887ffe450586af0351e384faad59)
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    
    Change-Id: I277f665cd4f3e1c21745cdc5c7a2cfe148661abe
---
 src/mainboard/google/panther/Kconfig                  | 1 +
 src/mainboard/samsung/stumpy/Kconfig                  | 1 +
 src/vendorcode/google/chromeos/Kconfig                | 6 ++++++
 src/vendorcode/google/chromeos/vboot1/vboot_loader.c  | 4 ++--
 src/vendorcode/google/chromeos/vboot2/vboot_handoff.c | 5 +++--
 5 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/mainboard/google/panther/Kconfig b/src/mainboard/google/panther/Kconfig
index 607b690..5f2efb9 100644
--- a/src/mainboard/google/panther/Kconfig
+++ b/src/mainboard/google/panther/Kconfig
@@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select EXTERNAL_MRC_BLOB
 	select MONOTONIC_TIMER_MSR
 	select INTEL_INT15
+	select PHYSICAL_REC_SWITCH
 
 config VBOOT_RAMSTAGE_INDEX
 	hex
diff --git a/src/mainboard/samsung/stumpy/Kconfig b/src/mainboard/samsung/stumpy/Kconfig
index 1b65eae..3f39e70 100644
--- a/src/mainboard/samsung/stumpy/Kconfig
+++ b/src/mainboard/samsung/stumpy/Kconfig
@@ -11,6 +11,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	select NORTHBRIDGE_INTEL_SANDYBRIDGE
 	select SOUTHBRIDGE_INTEL_BD82X6X
 	select SUPERIO_ITE_IT8772F
+	select PHYSICAL_REC_SWITCH
 # LPC47N207 selected for external LPC card
 # not on board, should be made selectable.
 	select SUPERIO_SMSC_LPC47N207
diff --git a/src/vendorcode/google/chromeos/Kconfig b/src/vendorcode/google/chromeos/Kconfig
index 29252a6..cb15d13 100644
--- a/src/vendorcode/google/chromeos/Kconfig
+++ b/src/vendorcode/google/chromeos/Kconfig
@@ -159,6 +159,12 @@ config NO_TPM_RESUME
 	  boards, booting Windows will break if the TPM resume command
 	  is sent during an S3 resume.
 
+config PHYSICAL_REC_SWITCH
+	bool "Physical recovery switch is present"
+	default n
+	help
+	  Whether this platform has a physical recovery switch
+
 source src/vendorcode/google/chromeos/vboot1/Kconfig
 source src/vendorcode/google/chromeos/vboot2/Kconfig
 
diff --git a/src/vendorcode/google/chromeos/vboot1/vboot_loader.c b/src/vendorcode/google/chromeos/vboot1/vboot_loader.c
index 0353a3a..97ca902 100644
--- a/src/vendorcode/google/chromeos/vboot1/vboot_loader.c
+++ b/src/vendorcode/google/chromeos/vboot1/vboot_loader.c
@@ -226,10 +226,10 @@ static void vboot_invoke_wrapper(struct vboot_handoff *vboot_handoff)
 		*iflags |= VB_INIT_FLAG_SW_WP_ENABLED;
 	if (CONFIG_VIRTUAL_DEV_SWITCH)
 		*iflags |= VB_INIT_FLAG_VIRTUAL_DEV_SWITCH;
-	if (CONFIG_EC_SOFTWARE_SYNC) {
+	if (CONFIG_EC_SOFTWARE_SYNC)
 		*iflags |= VB_INIT_FLAG_EC_SOFTWARE_SYNC;
+	if (!CONFIG_PHYSICAL_REC_SWITCH)
 		*iflags |= VB_INIT_FLAG_VIRTUAL_REC_SWITCH;
-	}
 	if (CONFIG_VBOOT_EC_SLOW_UPDATE)
 		*iflags |= VB_INIT_FLAG_EC_SLOW_UPDATE;
 	if (CONFIG_VBOOT_OPROM_MATTERS) {
diff --git a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
index 326a9bb..2dadffa 100644
--- a/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
+++ b/src/vendorcode/google/chromeos/vboot2/vboot_handoff.c
@@ -104,10 +104,11 @@ static void fill_vboot_handoff(struct vboot_handoff *vboot_handoff,
 	/* TODO: Set these in depthcharge */
 	if (CONFIG_VIRTUAL_DEV_SWITCH)
 		vb_sd->flags |= VBSD_HONOR_VIRT_DEV_SWITCH;
-	if (CONFIG_EC_SOFTWARE_SYNC) {
+	if (CONFIG_EC_SOFTWARE_SYNC)
 		vb_sd->flags |= VBSD_EC_SOFTWARE_SYNC;
+	if (!CONFIG_PHYSICAL_REC_SWITCH)
 		vb_sd->flags |= VBSD_BOOT_REC_SWITCH_VIRTUAL;
-	}
+
 	/* In vboot1, VBSD_FWB_TRIED is
 	 * set only if B is booted as explicitly requested. Therefore, if B is
 	 * booted because A was found bad, the flag should not be set. It's



More information about the coreboot-gerrit mailing list