coreboot-kgpe-d16/src/southbridge/intel/lynxpoint
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
..
acpi southbridge/intel: add IS_ENABLED() around Kconfig symbol references 2017-07-16 19:22:18 +00:00
acpi.c
azalia.c southbridge/intel/lynxpoint: Fix undefined behavior 2017-07-02 18:54:39 +00:00
bootblock.c
chip.h
early_me.c
early_pch.c southbridge/intel: add IS_ENABLED() around Kconfig symbol references 2017-07-16 19:22:18 +00:00
early_smbus.c sb/intel/*: Use common SMBus functions 2017-08-06 23:26:15 +00:00
early_spi.c
early_usb.c
elog.c
finalize.c southbridge/intel: add IS_ENABLED() around Kconfig symbol references 2017-07-16 19:22:18 +00:00
hda_verb.c
hda_verb.h
Kconfig sb/intel/*: add option to lockdown chipset on normal boot path 2017-08-30 10:32:00 +00:00
lp_gpio.c
lp_gpio.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
lpc.c southbridge/intel/lynxpoint: refactor rtc failure checking 2017-09-20 23:54:20 +00:00
Makefile.inc southbridge/intel/lynxpoint: refactor rtc failure checking 2017-09-20 23:54:20 +00:00
me.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
me_9.x.c southbridge/intel: add IS_ENABLED() around Kconfig symbol references 2017-07-16 19:22:18 +00:00
me_status.c
nvs.h Rename __attribute__((packed)) --> __packed 2017-07-13 19:45:59 +00:00
pch.c
pch.h southbridge/intel/lynxpoint: refactor rtc failure checking 2017-09-20 23:54:20 +00:00
pci.c lynxpoint bd82x6x: Enable PCI-to-PCI bridge 2017-02-23 18:36:24 +01:00
pcie.c southbridge/intel/lynxpoint: Fix undefined behavior 2017-07-10 18:15:11 +00:00
pmutil.c vboot: reset vbnv in cmos when cmos failure occurs 2017-09-20 23:54:42 +00:00
rcba.c
reset.c Consolidate reset API, add generic reset_prepare mechanism 2017-06-13 20:53:09 +02:00
sata.c southbridge/intel/lynxpoint: Fix undefined behavior 2017-07-10 18:15:11 +00:00
serialio.c
smbus.c sb/intel/*: Use common SMBus functions 2017-08-06 23:26:15 +00:00
smi.c sb/intel/*: add option to lockdown chipset on normal boot path 2017-08-30 10:32:00 +00:00
smihandler.c southbridge/intel: add IS_ENABLED() around Kconfig symbol references 2017-07-16 19:22:18 +00:00
usb_ehci.c
usb_xhci.c southbridge/intel/lynxpoint: Fix undefined behavior 2017-07-02 18:54:39 +00:00
watchdog.c