coreboot/src/vboot
Randall Spangler db9bb2d392 vboot/vbnv_flash: Binary search to find last used entry
This improves the previous linear search to O(log n).  No change in
storage format.

BUG=chromium:640656
BRANCH=none
TEST=Manual
	(test empty)
	flashrom -i RW_NVRAM -e
	Reboot; device should boot normally.

	(start using records)
	crossystem kern_nv=0xaab0
	crossystem recovery_request=1 && reboot
	Device should go into recovery mode with reason 1
	Reboot again; it should boot normally.
	crossystem kern_nv (should still contain 0xaab0)
	Repeat steps several times with request=2, 3, etc.

	flashrom -i RW_NVRAM -r nvdata
	Modify nvdata to copy the first record across all valid
	records
	flashrom -i RW_NVRAM -w nvdata
	Reboot; device should boot normally.

Change-Id: I1eb5fd9fa6b2ae56833f024bcd3c250147bcc7a1
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/376928
Reviewed-by: Julius Werner <jwerner@chromium.org>
2016-09-01 05:02:33 -07:00
..
bootmode.c
common.c UPSTREAM: src/vboot: Capitalize RAM and CPU 2016-08-04 23:38:06 -07:00
Kconfig UPSTREAM: vboot/vbnv_flash: make I/O connection agnostic 2016-08-22 00:11:52 -07:00
Makefile.inc
misc.h
secdata_mock.c
secdata_tpm.c
symbols.h
vbnv.c
vbnv.h
vbnv_cmos.c
vbnv_ec.c
vbnv_flash.c vboot/vbnv_flash: Binary search to find last used entry 2016-09-01 05:02:33 -07:00
vbnv_layout.h
vboot_common.c UPSTREAM: vboot/vboot_common: actually provide a writable region_device 2016-08-24 17:40:23 -07:00
vboot_common.h UPSTREAM: vboot: provide RW region device support 2016-08-22 00:11:50 -07:00
vboot_handoff.c
vboot_loader.c UPSTREAM: vboot: consolidate google_chromeec_early_init() calls 2016-08-28 03:15:02 -07:00
vboot_logic.c
verstage.c