diff options
author | Nico Huber <nico.huber@secunet.com> | 2017-07-25 16:11:36 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2017-07-26 19:30:01 +0000 |
commit | 5ce0fe117626b10f327fe279f64856cde575946c (patch) | |
tree | 15cf66c456de8e82f19b1615aa11adf01e668ee6 /src/arch | |
parent | a81f32192486952979d505e51ba6ae7a7d30e91d (diff) | |
download | coreboot-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.c | 3 | ||||
-rw-r--r-- | src/arch/x86/bootblock_simple.c | 3 | ||||
-rw-r--r-- | src/arch/x86/include/arch/bootblock_romcc.h | 20 |
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 |