Hi,

There's an ongoing effort to expand vboot nvdata (nvstorage) from 16 to 64
bytes [issue <https://issuetracker.google.com/issues/172342278>]. To reduce
unnecessary complexity of our firmware code accessing nvdata, we'd like to
drop 16-byte nvdata support from the firmware codebase (crossystem still
needs to support both though).

One obstacle is the CMOS nvdata backend (VBOOT_VBNV_CMOS). We're not sure
if there would be enough CMOS space for all boards using that. In addition,
because CMOS loses state when the battery is removed, newer boards usually
select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH to backup nvdata to flash.
Considering that, this seems like a good opportunity to migrate CMOS to
flash nvdata [issue <https://issuetracker.google.com/issues/235293589>].

One problem we faced is that many old platforms such as broadwell don't
support writing to the flash in early stages
(BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES). Therefore it looks like we'd need
to drop vboot support on them (for example CB:65782
<https://review.coreboot.org/c/coreboot/+/65782>). An alternative would be
to keep the CMOS backend around as "deprecated" and not allow 64-byte
nvdata for it, but that would at best be a transitory solution for a couple
of years, not forever.

If there's any concern, please let me know. We have firmware branches for
ChromeOS devices, so modifying ToT code wouldn't affect old devices in any
way. However, I'm not sure how non-ChromeOS boards (such as
mainboard/lenovo/haswell) would be affected by this. Please cc more people
if needed.

-- 

Yu-Ping Wu |  Software Engineer |  yupin...@google.com |  +886 937 057 080
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to