]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
cmd: smbios: show correct table size for SMBIOS2.1 entry point
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Wed, 31 Jan 2024 22:34:46 +0000 (23:34 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 2 Feb 2024 18:57:45 +0000 (19:57 +0100)
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@canonical.com>
cmd/smbios.c

index 95bdff602683c0145cd5e5e9071941a426466cbd..e2d82be1639c1d722e2d58eac312c9e2105d8f09 100644 (file)
@@ -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)) {