diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-01-04 18:04:39 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2020-01-10 15:28:41 +0000 |
commit | b2680a12e4ddeaa0a33975eb0034feb6649d333c (patch) | |
tree | c486831e6f84b6f679a6e47ec86ee6d56bd80e6f /src/drivers/pc80/rtc/mc146818rtc_boot.c | |
parent | da41b6182d22faf0ffa567f8e018078f4a6cbe7a (diff) |
drivers/pc80/rtc: Move sanitize_cmos()
Implementation depends on USE_OPTION_TABLE.
Change-Id: If7f8f478db3214842b6cc60cd77b4ea81cab6e3a
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38195
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/pc80/rtc/mc146818rtc_boot.c')
-rw-r--r-- | src/drivers/pc80/rtc/mc146818rtc_boot.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/drivers/pc80/rtc/mc146818rtc_boot.c b/src/drivers/pc80/rtc/mc146818rtc_boot.c index e599affd2d..718cfbf4d2 100644 --- a/src/drivers/pc80/rtc/mc146818rtc_boot.c +++ b/src/drivers/pc80/rtc/mc146818rtc_boot.c @@ -12,36 +12,10 @@ */ #include <stdint.h> -#include <cbfs.h> +#include <option.h> #include <pc80/mc146818rtc.h> #include <fallback.h> -#if CONFIG(USE_OPTION_TABLE) -#include <option_table.h> - -int cmos_lb_cks_valid(void) -{ - return cmos_checksum_valid(LB_CKS_RANGE_START, LB_CKS_RANGE_END, LB_CKS_LOC); -} - -void sanitize_cmos(void) -{ - if (cmos_error() || !cmos_lb_cks_valid() || CONFIG(STATIC_OPTION_TABLE)) { - size_t length = 128; - const unsigned char *cmos_default = - cbfs_boot_map_with_leak("cmos.default", - CBFS_COMPONENT_CMOS_DEFAULT, &length); - if (cmos_default) { - size_t i; - u8 control_state = cmos_disable_rtc(); - for (i = 14; i < MIN(128, length); i++) - cmos_write_inner(cmos_default[i], i); - cmos_restore_rtc(control_state); - } - } -} -#endif - #if CONFIG_MAX_REBOOT_CNT > 15 #error "CONFIG_MAX_REBOOT_CNT too high" #endif |