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> |
||
|---|---|---|
| .. | ||
| bootmode.c | ||
| common.c | ||
| Kconfig | ||
| 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 | ||
| vbnv_layout.h | ||
| vboot_common.c | ||
| vboot_common.h | ||
| vboot_handoff.c | ||
| vboot_loader.c | ||
| vboot_logic.c | ||
| verstage.c | ||