[coreboot-gerrit] Patch set updated for coreboot: 1bf6530 lib: Add Kconfig option to enable/disable auto fallback control
Timothy Pearson (tpearson@raptorengineeringinc.com)
gerrit at coreboot.org
Mon Mar 16 18:22:33 CET 2015
Timothy Pearson (tpearson at raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8698
-gerrit
commit 1bf65305af8e48fa0ca30c3cd9c780024a4226e5
Author: Timothy Pearson <tpearson at raptorengineeringinc.com>
Date: Mon Mar 16 11:47:45 2015 -0500
lib: Add Kconfig option to enable/disable auto fallback control
Under certain conditions, e.g. automated testing, it is useful
to have the payload (e.g. Linux) reset the reboot_bits CMOS
value. This allows automated recovery in the case of coreboot
starting properly but the payload failing to start due to bad
configuration data provided by the coreboot image under test.
Signed-off-by: Timothy Pearson <tpearson at raptorengineeringinc.com>
Change-Id: Ifc8f565f8292941d90b2e520cc9c5993b41e9cdd
---
src/Kconfig | 8 ++++++++
src/lib/fallback_boot.c | 5 +++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/Kconfig b/src/Kconfig
index a0758bc..806e728 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -236,6 +236,14 @@ config BOOTBLOCK_SOURCE
default "bootblock_simple.c" if BOOTBLOCK_SIMPLE
default "bootblock_normal.c" if BOOTBLOCK_NORMAL
+config SKIP_MAX_REBOOT_CNT_CLEAR
+ bool "Do not clear reboot count after successful boot"
+ default y
+ depends on EXPERT
+ help
+ Do not clear the reboot count immediately after successful boot.
+ Set to allow the payload to control normal/fallback image recovery.
+
config UPDATE_IMAGE
bool "Update existing coreboot.rom image"
default n
diff --git a/src/lib/fallback_boot.c b/src/lib/fallback_boot.c
index b956c94..74572df 100644
--- a/src/lib/fallback_boot.c
+++ b/src/lib/fallback_boot.c
@@ -22,8 +22,9 @@ static void set_boot_successful(void)
byte |= (byte & (1 << 1)) >> 1;
/* If we are in normal mode set the boot count to 0 */
- if(byte & 1)
- byte &= 0x0f;
+ if (!IS_ENABLED(CONFIG_SKIP_MAX_REBOOT_CNT_CLEAR))
+ if(byte & 1)
+ byte &= 0x0f;
outb(byte, RTC_PORT(1));
}
#else
More information about the coreboot-gerrit
mailing list