coreboot/src/mainboard
Aaron Durbin 0990fbf2d9 vboot: reset vbnv in cmos when cmos failure occurs
There's an occasional issue on machines which use CMOS for their
vbnv storage. The machine that just powers up from complete G3
would have had their RTC rail not held up. The contents of vbnv
in CMOS could pass the crc8 though the values could be bad. In
order to fix this introduce two functions:

1. vbnv_init_cmos()
2. vbnv_cmos_failed()

At the start of vboot the CMOS is queried for failure. If there
is a failure indicated then the vbnv data is restored from flash
backup or reset to known values when there is no flash backup.

BUG=b:63054105

Change-Id: I8bd6f28f64a116b84a08ce4779cd4dc73c0f2f3d
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/21560
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2017-09-20 23:54:42 +00:00
..
a-trend intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
aaeon sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
abit intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
adi mb/*/*/cmos.layout: Make multibyte options byte aligned 2017-06-06 18:59:40 +02:00
adlink
advansus AMD fam10 ACPI: Use common fixed sleepstates.asl 2017-08-23 03:36:05 +00:00
amd AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
aopen mainboard/[a-e]: add IS_ENABLED() around Kconfig symbol references 2017-07-06 00:19:48 +00:00
apple intel/sandybridge: Gather MMCONF_BASE_ADDRESS defaults 2017-07-30 00:06:51 +00:00
artecgroup sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
asrock AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
asus AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
avalue AMD fam10 ACPI: Use common fixed sleepstates.asl 2017-08-23 03:36:05 +00:00
azza intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
bachmann sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
bap AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
bcom mainboard/via*: Drop AMD car.h file 2017-08-24 11:32:08 +00:00
biostar AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
broadcom AMD K8 fam10-15: Consolidate post_cache_as_ram call 2017-08-22 20:24:38 +00:00
compaq intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
cubietech
digitallogic sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
dmp mainboard/[a-e]: add IS_ENABLED() around Kconfig symbol references 2017-07-06 00:19:48 +00:00
ecs
elmex AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
emulation Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
esd mb/*/*/cmos.layout: Make multibyte options byte aligned 2017-06-06 18:59:40 +02:00
foxconn mb/foxconn/g41s-k: add new mainboard 2017-06-12 04:41:02 +02:00
getac Kconfig: Introduce HAVE_(VBE_)LINEAR_FRAMEBUFFER 2017-06-02 18:37:45 +02:00
gigabyte intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
gizmosphere AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
google google/kahlee: Prevent AGESA memory clear 2017-09-20 19:26:07 +00:00
hp AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
ibase Boards w/ Winbond superios: Use common config entry code 2017-08-21 17:02:45 +00:00
iei AMD fam10 ACPI: Use common fixed sleepstates.asl 2017-08-23 03:36:05 +00:00
intel vboot: reset vbnv in cmos when cmos failure occurs 2017-09-20 23:54:42 +00:00
iwave
iwill sb/amd/amd8111: Define ACPI sleep states 2017-08-23 03:36:15 +00:00
jetway AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
kontron AMD fam10 ACPI: Use common fixed sleepstates.asl 2017-08-23 03:36:05 +00:00
lanner
lenovo AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
linutop
lippert AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
lowrisc
mitac
msi AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
nec
nokia intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
nvidia AMD K8 fam10-15: Consolidate post_cache_as_ram call 2017-08-22 20:24:38 +00:00
packardbell Kconfig: Rework MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG 2017-06-02 18:35:41 +02:00
pcengines AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
purism soc/intel/skylake: Add LPC and SPI lock down config option 2017-08-25 17:58:08 +00:00
rca
roda intel/sandybridge: Gather MMCONF_BASE_ADDRESS defaults 2017-07-30 00:06:51 +00:00
samsung intel/sandybridge: Gather MMCONF_BASE_ADDRESS defaults 2017-07-30 00:06:51 +00:00
sapphire mb/sapphire/pureplatinumh61: Disable the SuperIO serial 2017-09-06 04:47:59 +00:00
siemens siemens/mc_apl1: Add delay to wait for legacy devices 2017-09-14 18:12:49 +00:00
soyo intel/i440bx: Move LATE_CBMEM_INIT under mainboard 2017-09-01 14:39:16 +00:00
sunw AMD K8 fam10-15: Consolidate post_cache_as_ram call 2017-08-22 20:24:38 +00:00
supermicro AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
technexion AMD fam10 ACPI: Use common fixed sleepstates.asl 2017-08-23 03:36:05 +00:00
thomson mainboard/[m-w]: add IS_ENABLED() around Kconfig symbol references 2017-07-06 00:20:06 +00:00
ti
traverse sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
tyan AGESA binaryPI: Clean up amdfamXX.h include 2017-09-19 18:38:58 +00:00
via mainboard/via*: Drop AMD car.h file 2017-08-24 11:32:08 +00:00
winent AMD K8 fam10-15: Consolidate post_cache_as_ram call 2017-08-22 20:24:38 +00:00
winnet mb/winnet/g170: Drop AMD car.h file from Via mainboard 2017-09-06 04:35:37 +00:00
wyse sb/amd/cs5536: Remove includes of C files 2017-07-18 19:03:28 +00:00
Kconfig arch/x86/Kconfig: Add deprecation warnings for LATE_CBMEM_INIT 2017-09-06 04:43:53 +00:00