Hi Simon, On Tue, 2 Nov 2021 at 23:56, Simon Glass <s...@chromium.org> wrote: > > Hi Masahisa, > > On Tue, 26 Oct 2021 at 02:26, Masahisa Kojima > <masahisa.koj...@linaro.org> wrote: > > > > TCG PC Client Platform Firmware Profile Specification > > requires to measure the SMBIOS table that contains static > > configuration information (e.g. Platform Manufacturer > > Enterprise Number assigned by IANA, platform model number, > > Vendor and Device IDs for each SMBIOS table). > > > > The device- and environment-dependent information such as > > serial number is cleared to zero or space character for > > the measurement. > > > > Existing smbios_string() function returns pointer to the string > > with const qualifier, but exisintg use case is updating version > > string and const qualifier must be removed. > > This commit removes const qualifier from smbios_string() > > return value and reuses to clear the strings for the measurement. > > > > This commit also fixes the following compiler warning: > > > > lib/smbios-parser.c:59:39: warning: cast to pointer from integer of > > different size [-Wint-to-pointer-cast] > > const struct smbios_header *header = (struct smbios_header > > *)entry->struct_table_address; > > > > Signed-off-by: Masahisa Kojima <masahisa.koj...@linaro.org> > > --- > > Changes in v4: > > - update commit message > > > > Changes in v3: > > - TCG spec says EV_SEPARATOR must be the last, > > swap the order of measurement > > > > Changes in v2: > > - use flexible array for table_entry field > > - modify funtion name to find_smbios_table() > > - remove unnecessary const qualifier from smbios_string() > > - create non-const version of next_header() > > > > include/efi_loader.h | 2 + > > include/efi_tcg2.h | 15 ++++ > > include/smbios.h | 17 +++- > > lib/efi_loader/Kconfig | 1 + > > lib/efi_loader/efi_boottime.c | 2 + > > lib/efi_loader/efi_smbios.c | 2 - > > lib/efi_loader/efi_tcg2.c | 84 +++++++++++++++++++ > > lib/smbios-parser.c | 152 +++++++++++++++++++++++++++++++--- > > 8 files changed, 261 insertions(+), 14 deletions(-) > > I don't understand what efi_system_table is. Could someone add a > comment about that to the code?
efi_system_table is defined in the UEFI Specification. > > Also efi_configuration_table is an array of void * to what? Again I > don't see any comment in the header file... It is also defined in the UEFI Specification. typedef struct{ EFI_GUID VendorGuid; VOID *VendorTable; } EFI_CONFIGURATION_TABLE; efi_configuration_table will contain the guid and pointer to the industry standard configuration tables such as APCI and SMBIOS. > > How does this match up with the SMBIOS table already in U-Boot? Is it > a pointer to it? efi_system_table has array of efi_configuration_table, SMBIOS tables is installed(saving pointer into the array of efi_configuration_table together with guid) by calling efi_install_configuration_table(). Thanks, Masahisa Kojima > > Regards, > Simon