summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2017-07-25 16:11:36 +0200
committerNico Huber <nico.h@gmx.de>2017-07-26 19:30:01 +0000
commit5ce0fe117626b10f327fe279f64856cde575946c (patch)
tree15cf66c456de8e82f19b1615aa11adf01e668ee6 /src/arch
parenta81f32192486952979d505e51ba6ae7a7d30e91d (diff)
downloadcoreboot-5ce0fe117626b10f327fe279f64856cde575946c.tar.xz
Port cmos.default handling to C environment bootblock
Gather related code in the new file drivers/pc80/rtc/mc146818rtc_boot.c, call sanitize_cmos() from C environment bootblock. Change-Id: Ia5c64de208a5986299c0508d0e11eeb8473deef1 Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/20768 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/bootblock_normal.c3
-rw-r--r--src/arch/x86/bootblock_simple.c3
-rw-r--r--src/arch/x86/include/arch/bootblock_romcc.h20
3 files changed, 2 insertions, 24 deletions
diff --git a/src/arch/x86/bootblock_normal.c b/src/arch/x86/bootblock_normal.c
index 423046906e..905ecb28fb 100644
--- a/src/arch/x86/bootblock_normal.c
+++ b/src/arch/x86/bootblock_normal.c
@@ -32,9 +32,8 @@ static void main(unsigned long bist)
if (boot_cpu()) {
bootblock_mainboard_init();
-#if IS_ENABLED(CONFIG_USE_OPTION_TABLE)
sanitize_cmos();
-#endif
+
boot_mode = do_normal_boot();
} else {
diff --git a/src/arch/x86/bootblock_simple.c b/src/arch/x86/bootblock_simple.c
index 52c45be43d..bf71bca4e6 100644
--- a/src/arch/x86/bootblock_simple.c
+++ b/src/arch/x86/bootblock_simple.c
@@ -13,6 +13,7 @@
#include <smp/node.h>
#include <arch/bootblock_romcc.h>
+#include <pc80/mc146818rtc.h>
#include <halt.h>
static void main(unsigned long bist)
@@ -20,9 +21,7 @@ static void main(unsigned long bist)
if (boot_cpu()) {
bootblock_mainboard_init();
-#if IS_ENABLED(CONFIG_USE_OPTION_TABLE)
sanitize_cmos();
-#endif
#if IS_ENABLED(CONFIG_CMOS_POST)
cmos_post_init();
#endif
diff --git a/src/arch/x86/include/arch/bootblock_romcc.h b/src/arch/x86/include/arch/bootblock_romcc.h
index 600d360749..827e40e985 100644
--- a/src/arch/x86/include/arch/bootblock_romcc.h
+++ b/src/arch/x86/include/arch/bootblock_romcc.h
@@ -11,9 +11,7 @@
* GNU General Public License for more details.
*/
-#include <arch/cbfs.h>
#include <cpu/x86/lapic/boot_cpu.c>
-#include <pc80/mc146818rtc.h>
#ifdef CONFIG_BOOTBLOCK_RESETS
#include CONFIG_BOOTBLOCK_RESETS
@@ -45,21 +43,3 @@ static void bootblock_mainboard_init(void)
#endif
}
#endif
-
-#if IS_ENABLED(CONFIG_USE_OPTION_TABLE)
-static void sanitize_cmos(void)
-{
- if (cmos_error() || !cmos_chksum_valid()
- || IS_ENABLED(CONFIG_STATIC_OPTION_TABLE)) {
- unsigned char *cmos_default =
- (unsigned char *)walkcbfs("cmos.default");
- if (cmos_default) {
- int i;
- cmos_disable_rtc();
- for (i = 14; i < 128; i++)
- cmos_write_inner(cmos_default[i], i);
- cmos_enable_rtc();
- }
- }
-}
-#endif