* [PATCH v2 1/4] smbios: type2: contained object handles
@ 2024-01-17 15:33 Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-17 15:33 UTC (permalink / raw)
To: Tom Rini
Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot,
Heinrich Schuchardt
The type 2 structure must include information about the contained objects.
It is fine to set the number of contained object handles to 0.
Add the missing field.
Fixes: 721e992a8af5 ("x86: Add SMBIOS table support")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
v2:
email address updated
---
include/smbios.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/smbios.h b/include/smbios.h
index b507b9d9d72..98bb9e52cdf 100644
--- a/include/smbios.h
+++ b/include/smbios.h
@@ -139,6 +139,7 @@ struct __packed smbios_type2 {
u8 chassis_location;
u16 chassis_handle;
u8 board_type;
+ u8 number_contained_objects;
char eos[SMBIOS_STRUCT_EOS_BYTES];
};
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-17 15:33 [PATCH v2 1/4] smbios: type2: contained object handles Heinrich Schuchardt
@ 2024-01-17 15:33 ` Heinrich Schuchardt
2024-01-18 12:39 ` Ilias Apalodimas
2024-01-24 21:16 ` Tom Rini
2024-01-17 15:33 ` [PATCH v2 3/4] doc: man-page for smbios command Heinrich Schuchardt
` (2 subsequent siblings)
3 siblings, 2 replies; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-17 15:33 UTC (permalink / raw)
To: Tom Rini
Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot,
Heinrich Schuchardt
U-Boot can either generated an SMBIOS table or copy it from a prior boot
stage, e.g. QEMU.
Provide a command to display the SMBIOS information.
Currently only type 1 and 2 are translated to human readable text.
Other types may be added later. Currently only a hexdump and the list of
strings is provided for these.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
v2:
email address updated
---
cmd/Kconfig | 7 ++
cmd/Makefile | 1 +
cmd/smbios.c | 191 +++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 199 insertions(+)
create mode 100644 cmd/smbios.c
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 26aeeeed03b..43c9c20c8fa 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -227,6 +227,13 @@ config CMD_SBI
help
Display information about the SBI implementation.
+config CMD_SMBIOS
+ bool "smbios"
+ depends on SMBIOS
+ default y
+ help
+ Display the SMBIOS information.
+
endmenu
menu "Boot commands"
diff --git a/cmd/Makefile b/cmd/Makefile
index e2a2b16ab25..87133cc27a8 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -168,6 +168,7 @@ obj-$(CONFIG_CMD_SETEXPR) += setexpr.o
obj-$(CONFIG_CMD_SETEXPR_FMT) += printf.o
obj-$(CONFIG_CMD_SPI) += spi.o
obj-$(CONFIG_CMD_STRINGS) += strings.o
+obj-$(CONFIG_CMD_SMBIOS) += smbios.o
obj-$(CONFIG_CMD_SMC) += smccc.o
obj-$(CONFIG_CMD_SYSBOOT) += sysboot.o
obj-$(CONFIG_CMD_STACKPROTECTOR_TEST) += stackprot_test.o
diff --git a/cmd/smbios.c b/cmd/smbios.c
new file mode 100644
index 00000000000..63f908e92ce
--- /dev/null
+++ b/cmd/smbios.c
@@ -0,0 +1,191 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * The 'smbios' command displays information from the SMBIOS table.
+ *
+ * Copyright (c) 2023, Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
+ */
+
+#include <command.h>
+#include <hexdump.h>
+#include <mapmem.h>
+#include <smbios.h>
+#include <tables_csum.h>
+#include <asm/global_data.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/**
+ * smbios_get_string() - get SMBIOS string from table
+ *
+ * @table: SMBIOS table
+ * @index: index of the string
+ * Return: address of string, may point to empty string
+ */
+static const char *smbios_get_string(void *table, int index)
+{
+ const char *str = (char *)table +
+ ((struct smbios_header *)table)->length;
+
+ if (!*str)
+ ++str;
+ for (--index; *str && index; --index)
+ str += strlen(str) + 1;
+
+ return str;
+}
+
+static struct smbios_header *next_table(struct smbios_header *table)
+{
+ const char *str;
+
+ if (table->type == SMBIOS_END_OF_TABLE)
+ return NULL;
+
+ str = smbios_get_string(table, 0);
+ return (struct smbios_header *)(++str);
+}
+
+static void smbios_print_generic(struct smbios_header *table)
+{
+ char *str = (char *)table + table->length;
+
+ if (CONFIG_IS_ENABLED(HEXDUMP)) {
+ printf("Header and Data:\n");
+ print_hex_dump("\t", DUMP_PREFIX_OFFSET, 16, 1,
+ table, table->length, false);
+ }
+ if (*str) {
+ printf("Strings:\n");
+ for (int index = 1; *str; ++index) {
+ printf("\tString %u: %s\n", index, str);
+ str += strlen(str) + 1;
+ }
+ }
+}
+
+void smbios_print_str(const char *label, void *table, u8 index)
+{
+ printf("\t%s: %s\n", label, smbios_get_string(table, index));
+}
+
+static void smbios_print_type1(struct smbios_type1 *table)
+{
+ printf("System Information\n");
+ smbios_print_str("Manufacturer", table, table->manufacturer);
+ smbios_print_str("Product Name", table, table->product_name);
+ smbios_print_str("Version", table, table->version);
+ smbios_print_str("Serial Number", table, table->serial_number);
+ if (table->length >= 0x19) {
+ printf("\tUUID %pUl\n", table->uuid);
+ smbios_print_str("Wake Up Type", table, table->serial_number);
+ }
+ if (table->length >= 0x1b) {
+ smbios_print_str("Serial Number", table, table->serial_number);
+ smbios_print_str("SKU Number", table, table->sku_number);
+ }
+}
+
+static void smbios_print_type2(struct smbios_type2 *table)
+{
+ u16 *handle;
+
+ printf("Base Board Information\n");
+ smbios_print_str("Manufacturer", table, table->manufacturer);
+ smbios_print_str("Product Name", table, table->product_name);
+ smbios_print_str("Version", table, table->version);
+ smbios_print_str("Serial Number", table, table->serial_number);
+ smbios_print_str("Asset Tag", table, table->asset_tag_number);
+ printf("\tFeature Flags: 0x%2x\n", table->feature_flags);
+ smbios_print_str("Chassis Location", table, table->chassis_location);
+ printf("\tChassis Handle: 0x%2x\n", table->chassis_handle);
+ smbios_print_str("Board Type", table, table->board_type);
+ printf("\tContained Object Handles: ");
+ handle = (void *)table->eos;
+ for (int i = 0; i < table->number_contained_objects; ++i)
+ printf("0x%04x ", handle[i]);
+ printf("\n");
+}
+
+static void smbios_print_type127(struct smbios_type127 *table)
+{
+ printf("End Of Table\n");
+}
+
+static int do_smbios(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ ulong addr;
+ void *entry;
+ u32 size;
+ char version[12];
+ struct smbios_header *table;
+ static const char smbios_sig[] = "_SM_";
+ static const char smbios3_sig[] = "_SM3_";
+ size_t count = 0;
+ u32 max_struct_size;
+
+ addr = gd_smbios_start();
+ if (!addr) {
+ log_warning("SMBIOS not available\n");
+ return CMD_RET_FAILURE;
+ }
+ entry = map_sysmem(addr, 0);
+ if (!memcmp(entry, smbios3_sig, sizeof(smbios3_sig) - 1)) {
+ struct smbios3_entry *entry3 = entry;
+
+ table = (void *)(uintptr_t)entry3->struct_table_address;
+ snprintf(version, sizeof(version), "%d.%d.%d",
+ 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;
+ } else if (!memcmp(entry, smbios_sig, sizeof(smbios_sig) - 1)) {
+ struct smbios_entry *entry2 = entry;
+
+ snprintf(version, sizeof(version), "%d.%d",
+ entry2->major_ver, entry2->minor_ver);
+ table = (void *)(uintptr_t)entry2->struct_table_address;
+ size = entry2->length;
+ max_struct_size = entry2->max_struct_size;
+ } else {
+ log_err("Unknown SMBIOS anchor format\n");
+ return CMD_RET_FAILURE;
+ }
+ if (table_compute_checksum(entry, size)) {
+ log_err("Invalid anchor checksum\n");
+ return CMD_RET_FAILURE;
+ }
+ printf("SMBIOS %s present.\n", version);
+
+ for (struct smbios_header *pos = table; pos; pos = next_table(pos))
+ ++count;
+ printf("%zd structures occupying %d bytes\n", count, max_struct_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)) {
+ printf("\nHandle 0x%04x, DMI type %d, %d bytes at 0x%llx\n",
+ pos->handle, pos->type, pos->length,
+ (unsigned long long)map_to_sysmem(pos));
+ switch (pos->type) {
+ case 1:
+ smbios_print_type1((struct smbios_type1 *)pos);
+ break;
+ case 2:
+ smbios_print_type2((struct smbios_type2 *)pos);
+ break;
+ case 127:
+ smbios_print_type127((struct smbios_type127 *)pos);
+ break;
+ default:
+ smbios_print_generic(pos);
+ break;
+ }
+ }
+
+ return CMD_RET_SUCCESS;
+}
+
+U_BOOT_LONGHELP(smbios, "- display SMBIOS information");
+
+U_BOOT_CMD(smbios, 1, 0, do_smbios, "display SMBIOS information",
+ smbios_help_text);
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 3/4] doc: man-page for smbios command
2024-01-17 15:33 [PATCH v2 1/4] smbios: type2: contained object handles Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
@ 2024-01-17 15:33 ` Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 4/4] test: unit test " Heinrich Schuchardt
2024-01-17 16:10 ` [PATCH v2 0/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
3 siblings, 0 replies; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-17 15:33 UTC (permalink / raw)
To: Tom Rini
Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot,
Heinrich Schuchardt
Provide a man-page for the smbios command.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
---
v2:
no change
---
doc/usage/cmd/smbios.rst | 93 ++++++++++++++++++++++++++++++++++++++++
doc/usage/index.rst | 1 +
2 files changed, 94 insertions(+)
create mode 100644 doc/usage/cmd/smbios.rst
diff --git a/doc/usage/cmd/smbios.rst b/doc/usage/cmd/smbios.rst
new file mode 100644
index 00000000000..1ffd706d7de
--- /dev/null
+++ b/doc/usage/cmd/smbios.rst
@@ -0,0 +1,93 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later:
+
+smbios command
+==============
+
+Synopsis
+--------
+
+::
+
+ smbios
+
+Description
+-----------
+
+The smbios command displays information from the SMBIOS tables.
+
+Examples
+--------
+
+The example below shows an example output of the smbios command.
+
+::
+
+ => smbios
+ SMBIOS 2.8.0 present.
+ 8 structures occupying 81 bytes
+ Table at 0x6d35018
+
+ Handle 0x0100, DMI type 1, 27 bytes at 0x6d35018
+ System Information
+ Manufacturer: QEMU
+ Product Name: Standard PC (i440FX + PIIX, 1996)
+ Version: pc-i440fx-2.5
+ Serial Number:
+ UUID 00000000-0000-0000-0000-000000000000
+ Wake Up Type:
+ Serial Number:
+ SKU Number:
+
+ Handle 0x0300, DMI type 3, 22 bytes at 0x6d35069
+ Header and Data:
+ 00000000: 03 16 00 03 01 01 02 00 00 03 03 03 02 00 00 00
+ 00000010: 00 00 00 00 00 00
+ Strings:
+ String 1: QEMU
+ String 2: pc-i440fx-2.5
+
+ Handle 0x0400, DMI type 4, 42 bytes at 0x6d35093
+ Header and Data:
+ 00000000: 04 2a 00 04 01 03 01 02 63 06 00 00 fd ab 81 07
+ 00000010: 03 00 00 00 d0 07 d0 07 41 01 ff ff ff ff ff ff
+ 00000020: 00 00 00 01 01 01 02 00 01 00
+ Strings:
+ String 1: CPU 0
+ String 2: QEMU
+ String 3: pc-i440fx-2.5
+
+ Handle 0x1000, DMI type 16, 23 bytes at 0x6d350d7
+ Header and Data:
+ 00000000: 10 17 00 10 01 03 06 00 00 02 00 fe ff 01 00 00
+ 00000010: 00 00 00 00 00 00 00
+
+ Handle 0x1100, DMI type 17, 40 bytes at 0x6d350f0
+ Header and Data:
+ 00000000: 11 28 00 11 00 10 fe ff ff ff ff ff 80 00 09 00
+ 00000010: 01 00 07 02 00 00 00 02 00 00 00 00 00 00 00 00
+ 00000020: 00 00 00 00 00 00 00 00
+ Strings:
+ String 1: DIMM 0
+ String 2: QEMU
+
+ Handle 0x1300, DMI type 19, 31 bytes at 0x6d35125
+ Header and Data:
+ 00000000: 13 1f 00 13 00 00 00 00 ff ff 01 00 00 10 01 00
+ 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+ Handle 0x2000, DMI type 32, 11 bytes at 0x6d35146
+ Header and Data:
+ 00000000: 20 0b 00 20 00 00 00 00 00 00 00
+
+ Handle 0x7f00, DMI type 127, 4 bytes at 0x6d35153
+ End Of Table
+
+Configuration
+-------------
+
+The command is only available if CONFIG_CMD_SMBIOS=y.
+
+Return value
+------------
+
+The return value $? is 0 (true) on success, 1 (false) otherwise.
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index c171c029b80..0d174eefaa5 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -103,6 +103,7 @@ Shell commands
cmd/size
cmd/sleep
cmd/sm
+ cmd/smbios
cmd/sound
cmd/source
cmd/temperature
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 4/4] test: unit test for smbios command
2024-01-17 15:33 [PATCH v2 1/4] smbios: type2: contained object handles Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 3/4] doc: man-page for smbios command Heinrich Schuchardt
@ 2024-01-17 15:33 ` Heinrich Schuchardt
2024-01-18 11:51 ` Ilias Apalodimas
2024-01-17 16:10 ` [PATCH v2 0/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
3 siblings, 1 reply; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-17 15:33 UTC (permalink / raw)
To: Tom Rini
Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot,
Heinrich Schuchardt
Provide a unit test for the smbios command.
Provide different test functions for QEMU, sandbox, and other systems.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---
v2:
for generic boards we only can assume that a type 127 table exists
email address updated
---
test/py/tests/test_smbios.py | 41 ++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 test/py/tests/test_smbios.py
diff --git a/test/py/tests/test_smbios.py b/test/py/tests/test_smbios.py
new file mode 100644
index 00000000000..82b0b689830
--- /dev/null
+++ b/test/py/tests/test_smbios.py
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+"""Test smbios command"""
+
+import pytest
+
+@pytest.mark.buildconfigspec('cmd_smbios')
+@pytest.mark.notbuildconfigspec('qfw_smbios')
+@pytest.mark.notbuildconfigspec('sandbox')
+def test_cmd_smbios(u_boot_console):
+ """Run the smbios command"""
+ output = u_boot_console.run_command('smbios')
+ assert 'DMI type 127,' in output
+
+@pytest.mark.buildconfigspec('cmd_smbios')
+@pytest.mark.buildconfigspec('qfw_smbios')
+@pytest.mark.notbuildconfigspec('sandbox')
+# TODO:
+# QEMU v8.2.0 lacks SMBIOS support for RISC-V
+# Once support is available in our Docker image we can remove the constraint.
+@pytest.mark.notbuildconfigspec('riscv')
+def test_cmd_smbios_qemu(u_boot_console):
+ """Run the smbios command on QEMU"""
+ output = u_boot_console.run_command('smbios')
+ assert 'DMI type 1,' in output
+ assert 'Manufacturer: QEMU' in output
+ assert 'DMI type 127,' in output
+
+@pytest.mark.buildconfigspec('cmd_smbios')
+@pytest.mark.buildconfigspec('sandbox')
+def test_cmd_smbios_sandbox(u_boot_console):
+ """Run the smbios command on the sandbox"""
+ output = u_boot_console.run_command('smbios')
+ assert 'DMI type 0,' in output
+ assert 'String 1: U-Boot' in output
+ assert 'DMI type 1,' in output
+ assert 'Manufacturer: sandbox' in output
+ assert 'DMI type 2,' in output
+ assert 'DMI type 3,' in output
+ assert 'DMI type 4,' in output
+ assert 'DMI type 127,' in output
--
2.43.0
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v2 0/4] cmd: provide command to display SMBIOS information
2024-01-17 15:33 [PATCH v2 1/4] smbios: type2: contained object handles Heinrich Schuchardt
` (2 preceding siblings ...)
2024-01-17 15:33 ` [PATCH v2 4/4] test: unit test " Heinrich Schuchardt
@ 2024-01-17 16:10 ` Heinrich Schuchardt
3 siblings, 0 replies; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-17 16:10 UTC (permalink / raw)
To: Tom Rini
Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot,
Heinrich Schuchardt
U-Boot may supply an SMBIOS table or they may be copied from QEMU.
Provide a command to display the SMBIOS information.
Currently only type 1 and 2 are translated to human readable text.
Other types may be added later. Currently only a hexdump and the list of
strings is provided for these.
The following prerequisites had to be fixed:
* The definition of SMBIOS type 2 lacked a field.
v2:
merged patch remove
for generic boards we only can assume that a type 127 table exists
my email address updated in all patches
Heinrich Schuchardt (4):
smbios: type2: contained object handles
cmd: provide command to display SMBIOS information
doc: man-page for smbios command
test: unit test for smbios command
cmd/Kconfig | 7 ++
cmd/Makefile | 1 +
cmd/smbios.c | 191 +++++++++++++++++++++++++++++++++++
doc/usage/cmd/smbios.rst | 93 +++++++++++++++++
doc/usage/index.rst | 1 +
include/smbios.h | 1 +
test/py/tests/test_smbios.py | 41 ++++++++
7 files changed, 335 insertions(+)
create mode 100644 cmd/smbios.c
create mode 100644 doc/usage/cmd/smbios.rst
create mode 100644 test/py/tests/test_smbios.py
--
2.43.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 4/4] test: unit test for smbios command
2024-01-17 15:33 ` [PATCH v2 4/4] test: unit test " Heinrich Schuchardt
@ 2024-01-18 11:51 ` Ilias Apalodimas
2024-01-18 12:33 ` Heinrich Schuchardt
0 siblings, 1 reply; 15+ messages in thread
From: Ilias Apalodimas @ 2024-01-18 11:51 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
Hi Heinrich,
On Wed, 17 Jan 2024 at 17:34, Heinrich Schuchardt
<heinrich.schuchardt@canonical.com> wrote:
>
> Provide a unit test for the smbios command.
>
> Provide different test functions for QEMU, sandbox, and other systems.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> ---
> v2:
> for generic boards we only can assume that a type 127 table exists
> email address updated
> ---
> test/py/tests/test_smbios.py | 41 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 test/py/tests/test_smbios.py
>
> diff --git a/test/py/tests/test_smbios.py b/test/py/tests/test_smbios.py
> new file mode 100644
> index 00000000000..82b0b689830
> --- /dev/null
> +++ b/test/py/tests/test_smbios.py
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +"""Test smbios command"""
> +
> +import pytest
> +
> +@pytest.mark.buildconfigspec('cmd_smbios')
> +@pytest.mark.notbuildconfigspec('qfw_smbios')
> +@pytest.mark.notbuildconfigspec('sandbox')
> +def test_cmd_smbios(u_boot_console):
> + """Run the smbios command"""
> + output = u_boot_console.run_command('smbios')
> + assert 'DMI type 127,' in output
> +
> +@pytest.mark.buildconfigspec('cmd_smbios')
> +@pytest.mark.buildconfigspec('qfw_smbios')
> +@pytest.mark.notbuildconfigspec('sandbox')
> +# TODO:
> +# QEMU v8.2.0 lacks SMBIOS support for RISC-V
> +# Once support is available in our Docker image we can remove the constraint.
> +@pytest.mark.notbuildconfigspec('riscv')
> +def test_cmd_smbios_qemu(u_boot_console):
> + """Run the smbios command on QEMU"""
> + output = u_boot_console.run_command('smbios')
> + assert 'DMI type 1,' in output
> + assert 'Manufacturer: QEMU' in output
> + assert 'DMI type 127,' in output
Is there an easy way to run this test with and without the SMBIOS
tables provided by QEMU? We could test the u-boot generated ones that
way
Thanks
/Ilias
> +
> +@pytest.mark.buildconfigspec('cmd_smbios')
> +@pytest.mark.buildconfigspec('sandbox')
> +def test_cmd_smbios_sandbox(u_boot_console):
> + """Run the smbios command on the sandbox"""
> + output = u_boot_console.run_command('smbios')
> + assert 'DMI type 0,' in output
> + assert 'String 1: U-Boot' in output
> + assert 'DMI type 1,' in output
> + assert 'Manufacturer: sandbox' in output
> + assert 'DMI type 2,' in output
> + assert 'DMI type 3,' in output
> + assert 'DMI type 4,' in output
> + assert 'DMI type 127,' in output
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 4/4] test: unit test for smbios command
2024-01-18 11:51 ` Ilias Apalodimas
@ 2024-01-18 12:33 ` Heinrich Schuchardt
2024-01-18 12:35 ` Ilias Apalodimas
0 siblings, 1 reply; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-18 12:33 UTC (permalink / raw)
To: Ilias Apalodimas; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
On 1/18/24 12:51, Ilias Apalodimas wrote:
> Hi Heinrich,
>
> On Wed, 17 Jan 2024 at 17:34, Heinrich Schuchardt
> <heinrich.schuchardt@canonical.com> wrote:
>>
>> Provide a unit test for the smbios command.
>>
>> Provide different test functions for QEMU, sandbox, and other systems.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>> ---
>> v2:
>> for generic boards we only can assume that a type 127 table exists
>> email address updated
>> ---
>> test/py/tests/test_smbios.py | 41 ++++++++++++++++++++++++++++++++++++
>> 1 file changed, 41 insertions(+)
>> create mode 100644 test/py/tests/test_smbios.py
>>
>> diff --git a/test/py/tests/test_smbios.py b/test/py/tests/test_smbios.py
>> new file mode 100644
>> index 00000000000..82b0b689830
>> --- /dev/null
>> +++ b/test/py/tests/test_smbios.py
>> @@ -0,0 +1,41 @@
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +
>> +"""Test smbios command"""
>> +
>> +import pytest
>> +
>> +@pytest.mark.buildconfigspec('cmd_smbios')
>> +@pytest.mark.notbuildconfigspec('qfw_smbios')
>> +@pytest.mark.notbuildconfigspec('sandbox')
>> +def test_cmd_smbios(u_boot_console):
>> + """Run the smbios command"""
>> + output = u_boot_console.run_command('smbios')
>> + assert 'DMI type 127,' in output
>> +
>> +@pytest.mark.buildconfigspec('cmd_smbios')
>> +@pytest.mark.buildconfigspec('qfw_smbios')
>> +@pytest.mark.notbuildconfigspec('sandbox')
>> +# TODO:
>> +# QEMU v8.2.0 lacks SMBIOS support for RISC-V
>> +# Once support is available in our Docker image we can remove the constraint.
>> +@pytest.mark.notbuildconfigspec('riscv')
>> +def test_cmd_smbios_qemu(u_boot_console):
>> + """Run the smbios command on QEMU"""
>> + output = u_boot_console.run_command('smbios')
>> + assert 'DMI type 1,' in output
>> + assert 'Manufacturer: QEMU' in output
>> + assert 'DMI type 127,' in output
>
> Is there an easy way to run this test with and without the SMBIOS
> tables provided by QEMU? We could test the u-boot generated ones that
> way
We already test the sandbox without QFW. I would not want to duplicated
QEMU defconfigs.
Best regards
Heinrich
>
> Thanks
> /Ilias
>> +
>> +@pytest.mark.buildconfigspec('cmd_smbios')
>> +@pytest.mark.buildconfigspec('sandbox')
>> +def test_cmd_smbios_sandbox(u_boot_console):
>> + """Run the smbios command on the sandbox"""
>> + output = u_boot_console.run_command('smbios')
>> + assert 'DMI type 0,' in output
>> + assert 'String 1: U-Boot' in output
>> + assert 'DMI type 1,' in output
>> + assert 'Manufacturer: sandbox' in output
>> + assert 'DMI type 2,' in output
>> + assert 'DMI type 3,' in output
>> + assert 'DMI type 4,' in output
>> + assert 'DMI type 127,' in output
>> --
>> 2.43.0
>>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 4/4] test: unit test for smbios command
2024-01-18 12:33 ` Heinrich Schuchardt
@ 2024-01-18 12:35 ` Ilias Apalodimas
0 siblings, 0 replies; 15+ messages in thread
From: Ilias Apalodimas @ 2024-01-18 12:35 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
On Thu, Jan 18, 2024 at 01:33:15PM +0100, Heinrich Schuchardt wrote:
> On 1/18/24 12:51, Ilias Apalodimas wrote:
> > Hi Heinrich,
> >
> > On Wed, 17 Jan 2024 at 17:34, Heinrich Schuchardt
> > <heinrich.schuchardt@canonical.com> wrote:
> > >
> > > Provide a unit test for the smbios command.
> > >
> > > Provide different test functions for QEMU, sandbox, and other systems.
> > >
> > > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> > > ---
> > > v2:
> > > for generic boards we only can assume that a type 127 table exists
> > > email address updated
> > > ---
> > > test/py/tests/test_smbios.py | 41 ++++++++++++++++++++++++++++++++++++
> > > 1 file changed, 41 insertions(+)
> > > create mode 100644 test/py/tests/test_smbios.py
> > >
> > > diff --git a/test/py/tests/test_smbios.py b/test/py/tests/test_smbios.py
> > > new file mode 100644
> > > index 00000000000..82b0b689830
> > > --- /dev/null
> > > +++ b/test/py/tests/test_smbios.py
> > > @@ -0,0 +1,41 @@
> > > +# SPDX-License-Identifier: GPL-2.0-or-later
> > > +
> > > +"""Test smbios command"""
> > > +
> > > +import pytest
> > > +
> > > +@pytest.mark.buildconfigspec('cmd_smbios')
> > > +@pytest.mark.notbuildconfigspec('qfw_smbios')
> > > +@pytest.mark.notbuildconfigspec('sandbox')
> > > +def test_cmd_smbios(u_boot_console):
> > > + """Run the smbios command"""
> > > + output = u_boot_console.run_command('smbios')
> > > + assert 'DMI type 127,' in output
> > > +
> > > +@pytest.mark.buildconfigspec('cmd_smbios')
> > > +@pytest.mark.buildconfigspec('qfw_smbios')
> > > +@pytest.mark.notbuildconfigspec('sandbox')
> > > +# TODO:
> > > +# QEMU v8.2.0 lacks SMBIOS support for RISC-V
> > > +# Once support is available in our Docker image we can remove the constraint.
> > > +@pytest.mark.notbuildconfigspec('riscv')
> > > +def test_cmd_smbios_qemu(u_boot_console):
> > > + """Run the smbios command on QEMU"""
> > > + output = u_boot_console.run_command('smbios')
> > > + assert 'DMI type 1,' in output
> > > + assert 'Manufacturer: QEMU' in output
> > > + assert 'DMI type 127,' in output
> >
> > Is there an easy way to run this test with and without the SMBIOS
> > tables provided by QEMU? We could test the u-boot generated ones that
> > way
>
> We already test the sandbox without QFW. I would not want to duplicated QEMU
> defconfigs.
>
Ah fair enough, I can add the generic tests in that one
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> Best regards
>
> Heinrich
>
> >
> > Thanks
> > /Ilias
> > > +
> > > +@pytest.mark.buildconfigspec('cmd_smbios')
> > > +@pytest.mark.buildconfigspec('sandbox')
> > > +def test_cmd_smbios_sandbox(u_boot_console):
> > > + """Run the smbios command on the sandbox"""
> > > + output = u_boot_console.run_command('smbios')
> > > + assert 'DMI type 0,' in output
> > > + assert 'String 1: U-Boot' in output
> > > + assert 'DMI type 1,' in output
> > > + assert 'Manufacturer: sandbox' in output
> > > + assert 'DMI type 2,' in output
> > > + assert 'DMI type 3,' in output
> > > + assert 'DMI type 4,' in output
> > > + assert 'DMI type 127,' in output
> > > --
> > > 2.43.0
> > >
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
@ 2024-01-18 12:39 ` Ilias Apalodimas
2024-01-18 12:54 ` Heinrich Schuchardt
2024-01-24 21:16 ` Tom Rini
1 sibling, 1 reply; 15+ messages in thread
From: Ilias Apalodimas @ 2024-01-18 12:39 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
Hi Heinrich,
A few nits below
On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
> U-Boot can either generated an SMBIOS table or copy it from a prior boot
> stage, e.g. QEMU.
>
> Provide a command to display the SMBIOS information.
>
> Currently only type 1 and 2 are translated to human readable text.
> Other types may be added later. Currently only a hexdump and the list of
> strings is provided for these.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
> v2:
[...]
> email address updated
> +static struct smbios_header *next_table(struct smbios_header *table)
> +{
> + const char *str;
> +
> + if (table->type == SMBIOS_END_OF_TABLE)
> + return NULL;
> +
> + str = smbios_get_string(table, 0);
> + return (struct smbios_header *)(++str);
That can lead to unaligned access when we dereference that pointer, do we
care?
> +}
> +
> +static void smbios_print_generic(struct smbios_header *table)
> +{
> + char *str = (char *)table + table->length;
> +
Do we want the header below printed if there are no strings?
IOW can we exit early if (!*str) ?
> + if (CONFIG_IS_ENABLED(HEXDUMP)) {
> + printf("Header and Data:\n");
> + print_hex_dump("\t", DUMP_PREFIX_OFFSET, 16, 1,
> + table, table->length, false);
> + }
> + if (*str) {
> + printf("Strings:\n");
> + for (int index = 1; *str; ++index) {
> + printf("\tString %u: %s\n", index, str);
> + str += strlen(str) + 1;
> + }
> + }
> +}
> +
> +void smbios_print_str(const char *label, void *table, u8 index)
> +{
> + printf("\t%s: %s\n", label, smbios_get_string(table, index));
> +}
> +
Other than that, LGTM
Thanks
/Ilias
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-18 12:39 ` Ilias Apalodimas
@ 2024-01-18 12:54 ` Heinrich Schuchardt
2024-01-18 12:58 ` Ilias Apalodimas
0 siblings, 1 reply; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-18 12:54 UTC (permalink / raw)
To: Ilias Apalodimas; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
On 1/18/24 13:39, Ilias Apalodimas wrote:
> Hi Heinrich,
>
> A few nits below
>
> On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
>> U-Boot can either generated an SMBIOS table or copy it from a prior boot
>> stage, e.g. QEMU.
>>
>> Provide a command to display the SMBIOS information.
>>
>> Currently only type 1 and 2 are translated to human readable text.
>> Other types may be added later. Currently only a hexdump and the list of
>> strings is provided for these.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>> ---
>> v2:
>
> [...]
>
>> email address updated
>> +static struct smbios_header *next_table(struct smbios_header *table)
>> +{
>> + const char *str;
>> +
>> + if (table->type == SMBIOS_END_OF_TABLE)
>> + return NULL;
>> +
>> + str = smbios_get_string(table, 0);
>> + return (struct smbios_header *)(++str);
>
> That can lead to unaligned access when we dereference that pointer, do we
> care?
SMBIOS tables are always byte aligned. This is why struct smbios_header
is marked as packed. The GCCj documentation has this sentence:
"The packed attribute specifies that a variable or structure field
should have the smallest possible alignment - one byte for a variable,
and one bit for a field, unless you specify a larger value with the
aligned attribute."
So shouldn't the compiler care about non-alignment? If there were a
problematic usage, GCC would throw -Waddress-of-packed-member.
Best regards
Heinrich
>
>> +}
>> +
>> +static void smbios_print_generic(struct smbios_header *table)
>> +{
>> + char *str = (char *)table + table->length;
>> +
>
> Do we want the header below printed if there are no strings?
> IOW can we exit early if (!*str) ?
>
>> + if (CONFIG_IS_ENABLED(HEXDUMP)) {
>> + printf("Header and Data:\n");
>> + print_hex_dump("\t", DUMP_PREFIX_OFFSET, 16, 1,
>> + table, table->length, false);
>> + }
>> + if (*str) {
>> + printf("Strings:\n");
>> + for (int index = 1; *str; ++index) {
>> + printf("\tString %u: %s\n", index, str);
>> + str += strlen(str) + 1;
>> + }
>> + }
>> +}
>> +
>> +void smbios_print_str(const char *label, void *table, u8 index)
>> +{
>> + printf("\t%s: %s\n", label, smbios_get_string(table, index));
>> +}
>> +
>
>
> Other than that, LGTM
>
> Thanks
> /Ilias
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-18 12:54 ` Heinrich Schuchardt
@ 2024-01-18 12:58 ` Ilias Apalodimas
0 siblings, 0 replies; 15+ messages in thread
From: Ilias Apalodimas @ 2024-01-18 12:58 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Tom Rini, Simon Glass, Bin Meng, u-boot
On Thu, 18 Jan 2024 at 14:54, Heinrich Schuchardt
<heinrich.schuchardt@canonical.com> wrote:
>
> On 1/18/24 13:39, Ilias Apalodimas wrote:
> > Hi Heinrich,
> >
> > A few nits below
> >
> > On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
> >> U-Boot can either generated an SMBIOS table or copy it from a prior boot
> >> stage, e.g. QEMU.
> >>
> >> Provide a command to display the SMBIOS information.
> >>
> >> Currently only type 1 and 2 are translated to human readable text.
> >> Other types may be added later. Currently only a hexdump and the list of
> >> strings is provided for these.
> >>
> >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> >> Reviewed-by: Simon Glass <sjg@chromium.org>
> >> ---
> >> v2:
> >
> > [...]
> >
> >> email address updated
> >> +static struct smbios_header *next_table(struct smbios_header *table)
> >> +{
> >> + const char *str;
> >> +
> >> + if (table->type == SMBIOS_END_OF_TABLE)
> >> + return NULL;
> >> +
> >> + str = smbios_get_string(table, 0);
> >> + return (struct smbios_header *)(++str);
> >
> > That can lead to unaligned access when we dereference that pointer, do we
> > care?
>
> SMBIOS tables are always byte aligned. This is why struct smbios_header
> is marked as packed. The GCCj documentation has this sentence:
>
> "The packed attribute specifies that a variable or structure field
> should have the smallest possible alignment - one byte for a variable,
> and one bit for a field, unless you specify a larger value with the
> aligned attribute."
>
> So shouldn't the compiler care about non-alignment? If there were a
> problematic usage, GCC would throw -Waddress-of-packed-member.
I don't think we have the strict alignment enabled in our makefiles.
But, that won't be a problem, I missed the packed attribute in the
smbios header.
with or without the change in smbios_print_generic()
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
2024-01-18 12:39 ` Ilias Apalodimas
@ 2024-01-24 21:16 ` Tom Rini
2024-01-24 23:24 ` Heinrich Schuchardt
1 sibling, 1 reply; 15+ messages in thread
From: Tom Rini @ 2024-01-24 21:16 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot
[-- Attachment #1: Type: text/plain, Size: 1017 bytes --]
On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
> U-Boot can either generated an SMBIOS table or copy it from a prior boot
> stage, e.g. QEMU.
>
> Provide a command to display the SMBIOS information.
>
> Currently only type 1 and 2 are translated to human readable text.
> Other types may be added later. Currently only a hexdump and the list of
> strings is provided for these.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
[snip]
> @@ -227,6 +227,13 @@ config CMD_SBI
> help
> Display information about the SBI implementation.
>
> +config CMD_SMBIOS
> + bool "smbios"
> + depends on SMBIOS
> + default y
> + help
> + Display the SMBIOS information.
> +
So this would be enabled (today) on 888 boards and is a bit more than a
kilobyte. I think we can just let this be enabled as needed in
defconfigs?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-24 21:16 ` Tom Rini
@ 2024-01-24 23:24 ` Heinrich Schuchardt
2024-01-25 0:17 ` Tom Rini
2024-01-25 10:45 ` Peter Robinson
0 siblings, 2 replies; 15+ messages in thread
From: Heinrich Schuchardt @ 2024-01-24 23:24 UTC (permalink / raw)
To: Tom Rini; +Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot
On 1/24/24 22:16, Tom Rini wrote:
> On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
>
>> U-Boot can either generated an SMBIOS table or copy it from a prior boot
>> stage, e.g. QEMU.
>>
>> Provide a command to display the SMBIOS information.
>>
>> Currently only type 1 and 2 are translated to human readable text.
>> Other types may be added later. Currently only a hexdump and the list of
>> strings is provided for these.
>>
>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> [snip]
>> @@ -227,6 +227,13 @@ config CMD_SBI
>> help
>> Display information about the SBI implementation.
>>
>> +config CMD_SMBIOS
>> + bool "smbios"
>> + depends on SMBIOS
>> + default y
>> + help
>> + Display the SMBIOS information.
>> +
>
> So this would be enabled (today) on 888 boards and is a bit more than a
> kilobyte. I think we can just let this be enabled as needed in
> defconfigs?
>
As needed would be the boards where we want to run the related Python
test. Sandbox and QEMU should be good enough?
Best regards
Heinrich
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-24 23:24 ` Heinrich Schuchardt
@ 2024-01-25 0:17 ` Tom Rini
2024-01-25 10:45 ` Peter Robinson
1 sibling, 0 replies; 15+ messages in thread
From: Tom Rini @ 2024-01-25 0:17 UTC (permalink / raw)
To: Heinrich Schuchardt; +Cc: Simon Glass, Ilias Apalodimas, Bin Meng, u-boot
[-- Attachment #1: Type: text/plain, Size: 1428 bytes --]
On Thu, Jan 25, 2024 at 12:24:33AM +0100, Heinrich Schuchardt wrote:
> On 1/24/24 22:16, Tom Rini wrote:
> > On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
> >
> > > U-Boot can either generated an SMBIOS table or copy it from a prior boot
> > > stage, e.g. QEMU.
> > >
> > > Provide a command to display the SMBIOS information.
> > >
> > > Currently only type 1 and 2 are translated to human readable text.
> > > Other types may be added later. Currently only a hexdump and the list of
> > > strings is provided for these.
> > >
> > > Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> > > Reviewed-by: Simon Glass <sjg@chromium.org>
> > > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > [snip]
> > > @@ -227,6 +227,13 @@ config CMD_SBI
> > > help
> > > Display information about the SBI implementation.
> > > +config CMD_SMBIOS
> > > + bool "smbios"
> > > + depends on SMBIOS
> > > + default y
> > > + help
> > > + Display the SMBIOS information.
> > > +
> >
> > So this would be enabled (today) on 888 boards and is a bit more than a
> > kilobyte. I think we can just let this be enabled as needed in
> > defconfigs?
> >
>
> As needed would be the boards where we want to run the related Python test.
> Sandbox and QEMU should be good enough?
And the test needs the pytest mark for cmd_smbios, yes.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v2 2/4] cmd: provide command to display SMBIOS information
2024-01-24 23:24 ` Heinrich Schuchardt
2024-01-25 0:17 ` Tom Rini
@ 2024-01-25 10:45 ` Peter Robinson
1 sibling, 0 replies; 15+ messages in thread
From: Peter Robinson @ 2024-01-25 10:45 UTC (permalink / raw)
To: Heinrich Schuchardt
Cc: Tom Rini, Simon Glass, Ilias Apalodimas, Bin Meng, u-boot
On Thu, 25 Jan 2024 at 03:02, Heinrich Schuchardt
<heinrich.schuchardt@canonical.com> wrote:
>
> On 1/24/24 22:16, Tom Rini wrote:
> > On Wed, Jan 17, 2024 at 04:33:45PM +0100, Heinrich Schuchardt wrote:
> >
> >> U-Boot can either generated an SMBIOS table or copy it from a prior boot
> >> stage, e.g. QEMU.
> >>
> >> Provide a command to display the SMBIOS information.
> >>
> >> Currently only type 1 and 2 are translated to human readable text.
> >> Other types may be added later. Currently only a hexdump and the list of
> >> strings is provided for these.
> >>
> >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> >> Reviewed-by: Simon Glass <sjg@chromium.org>
> >> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > [snip]
> >> @@ -227,6 +227,13 @@ config CMD_SBI
> >> help
> >> Display information about the SBI implementation.
> >>
> >> +config CMD_SMBIOS
> >> + bool "smbios"
> >> + depends on SMBIOS
> >> + default y
> >> + help
> >> + Display the SMBIOS information.
> >> +
> >
> > So this would be enabled (today) on 888 boards and is a bit more than a
> > kilobyte. I think we can just let this be enabled as needed in
> > defconfigs?
> >
>
> As needed would be the boards where we want to run the related Python
> test. Sandbox and QEMU should be good enough?
Yes, I think for most users seeing the smbios tables is probably not
particularly useful.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2024-01-25 10:45 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-17 15:33 [PATCH v2 1/4] smbios: type2: contained object handles Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 2/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
2024-01-18 12:39 ` Ilias Apalodimas
2024-01-18 12:54 ` Heinrich Schuchardt
2024-01-18 12:58 ` Ilias Apalodimas
2024-01-24 21:16 ` Tom Rini
2024-01-24 23:24 ` Heinrich Schuchardt
2024-01-25 0:17 ` Tom Rini
2024-01-25 10:45 ` Peter Robinson
2024-01-17 15:33 ` [PATCH v2 3/4] doc: man-page for smbios command Heinrich Schuchardt
2024-01-17 15:33 ` [PATCH v2 4/4] test: unit test " Heinrich Schuchardt
2024-01-18 11:51 ` Ilias Apalodimas
2024-01-18 12:33 ` Heinrich Schuchardt
2024-01-18 12:35 ` Ilias Apalodimas
2024-01-17 16:10 ` [PATCH v2 0/4] cmd: provide command to display SMBIOS information Heinrich Schuchardt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox