[PATCH 1/3] cmd: smbios: show correct table size for SMBIOS2.1 entry point
Ilias Apalodimas
ilias.apalodimas at linaro.org
Tue Feb 13 15:23:08 CET 2024
On Thu, 1 Feb 2024 at 02:20, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> The SMBIOS table size for SMBIOS2.1 entry points is in field 'Structure
> Table Length' (offset 0x16) and not in field 'Maximum Structure Size'
> (offset 0x08).
>
> Rename the receiving variable max_struct_size to table_maximum_size
> to avoid future confusion.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> cmd/smbios.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/cmd/smbios.c b/cmd/smbios.c
> index 95bdff6026..e2d82be163 100644
> --- a/cmd/smbios.c
> +++ b/cmd/smbios.c
> @@ -126,7 +126,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
> static const char smbios_sig[] = "_SM_";
> static const char smbios3_sig[] = "_SM3_";
> size_t count = 0;
> - u32 max_struct_size;
> + u32 table_maximum_size;
>
> addr = gd_smbios_start();
> if (!addr) {
> @@ -142,7 +142,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
> entry3->major_ver, entry3->minor_ver, entry3->doc_rev);
> table = (void *)(uintptr_t)entry3->struct_table_address;
> size = entry3->length;
> - max_struct_size = entry3->max_struct_size;
> + table_maximum_size = entry3->max_struct_size;
> } else if (!memcmp(entry, smbios_sig, sizeof(smbios_sig) - 1)) {
> struct smbios_entry *entry2 = entry;
>
> @@ -150,7 +150,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
> entry2->major_ver, entry2->minor_ver);
> table = (void *)(uintptr_t)entry2->struct_table_address;
> size = entry2->length;
> - max_struct_size = entry2->max_struct_size;
> + table_maximum_size = entry2->struct_table_length;
> } else {
> log_err("Unknown SMBIOS anchor format\n");
> return CMD_RET_FAILURE;
> @@ -163,7 +163,7 @@ static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
>
> for (struct smbios_header *pos = table; pos; pos = next_table(pos))
> ++count;
> - printf("%zd structures occupying %d bytes\n", count, max_struct_size);
> + printf("%zd structures occupying %d bytes\n", count, table_maximum_size);
> printf("Table at 0x%llx\n", (unsigned long long)map_to_sysmem(table));
>
> for (struct smbios_header *pos = table; pos; pos = next_table(pos)) {
> --
> 2.43.0
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list