smbios: Allow writing to the coreboot version string

When U-Boot is booted from coreboot the SMBIOS tables are written by
coreboot, not U-Boot. The existing method of updating the BIOS version
string does not work in that case, since gd->smbios_version is only set
when U-Boot writes the tables.

Add a new function which allows the version to be updated by parsing the
tables and writing the string in the correct place. Since coreboot
provides a pointer to the SMBIOS tables in its sysinfo structure, this
makes it easy to do the update.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2021-03-15 18:00:11 +13:00
parent 11a38a2573
commit 272e62cb83
3 changed files with 58 additions and 4 deletions

View file

@ -20,10 +20,6 @@
DECLARE_GLOBAL_DATA_PTR;
enum {
SMBIOS_STR_MAX = 64, /* Maximum length allowed for a string */
};
/**
* struct smbios_ctx - context for writing SMBIOS tables
*