From: Sean Anderson <seanga2@gmail.com>
To: Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Simon Glass <sjg@chromium.org>
Cc: U-Boot Mailing List <u-boot@lists.denx.de>,
Tom Rini <trini@konsulko.com>,
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>,
Peter Robinson <pbrobinson@gmail.com>
Subject: Re: [PATCH 1/2] smbios: Simplify reporting of unknown values
Date: Sat, 17 Sep 2022 12:55:47 -0400 [thread overview]
Message-ID: <0e250d37-de96-330b-4666-af07fd65e2e8@gmail.com> (raw)
In-Reply-To: <YyTc5tR9IbGzDlYa@hera>
On 9/16/22 16:30, Ilias Apalodimas wrote:
> Hi Simon,
>
> [...]
>
>>> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
>>> ---
>>> lib/smbios.c | 17 +++--------------
>>> 1 file changed, 3 insertions(+), 14 deletions(-)
>>
>> Perhaps a better fix is to drop the smbios info?
>
> Unfortunately there's a ton of userspace tools still using it. So I think
> we still need it
>
>>
>> What upstream projects use this information to show things to the
>> user? You showed a screenshot of some sort of system-info app. We
>> could teach it about falling back to the device tree. That way we are
>> not adding fake information to SMBIOS.
>>
>
> What's fake here? The model and compatible are taken directly from the DT
> and that should be accurate. I'd rather fix the DT if that's problematic.
> What would make sense for me to change is take the first token of the
> compatible node instead of the entire string as it's format is expected to
> be <manufacturer, model> anyway.
> Manufacturer: socionext,developer-box
> Product Name: Socionext Developer Box
Well, firstly, the manufacturer is "Socionext", not
"socionext,developer-box". Compatibles are not suitable for
user-visible identifiers. The product name should also be something like
"Socionext Developerbox" or maybe "SynQuacer E-series", but this more of
a "bug" in the devicetree model property.
Second, these identifiers are not suitable for all structures you want
to use it for. For example, the chassis is really a "INWIN industrial PC
case: MicroATX mini-tower case IW-BK623/300-H E USB 3.0 Black with 300W
SFX power supply" [1]. I would describe this as something like
Handle 0x0003, DMI type 3, 21 bytes
Chassis Information
Manufacturer: INWIN
Type: Mini Tower
Lock: Not Present
Version: Unknown
Serial Number: Not Specified
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: 1
Contained Elements: 0
The exact values are not particularly important, but I would certainly
classify a manufacturer of "socionext,developer-box" as fake. We might
not even know what the chassis is; what's to stop a user from using a
different case?
[1] https://www.96boards.org/documentation/enterprise/developerbox/hardware-docs/MN04-00002-3E.pdf
>> Also, SMBIOS is a legacy thing and a PITA to work with. How about we
>> use the device tree binding for the same info:
>>
>> smbios {
>> compatible = "u-boot,sysinfo-smbios";
>>
>> smbios {
>> system {
>> manufacturer = "pine64";
>> product = "rock64_rk3328";
>> };
>>
>> baseboard {
>> manufacturer = "pine64";
>> product = "rock64_rk3328";
>> };
>>
>> chassis {
>> manufacturer = "pine64";
>> product = "rock64_rk3328";
>> };
>> };
>> };
>>
>> This is easy to parse and gets us away from all this legacy junk that
>> we don't need.
>
> That's the exact opposite of the patch description. Most of these info are
> already included in the DT in it's standard properties. So if U-Boot ends
> up with a DT without these we get a usable smbios table. For example a DT
> handed over by the previous stage bootloader would not include these nodes.
I agree. I think a better example would fill in these fields with
descriptive values.
> As far as sysinfo-smbios node is concerned, it's only present in 13
> boards, so it's not like it's used by the majority of boards. Yes we
> could fix them, but imho we are better off re-using what's already there
> and defined on the DT spec at least for the simplistic values.
IMO SYS_VENDOR and SYS_BOARD are more descriptive than the devicetree
values, but neither is good...
How many boards do we have which actually use the SMBIOS tables? There
are a lot of boards with EFI_LOADER enabled by default, but I suspect
most never boot anything EFI.
--Sean
next prev parent reply other threads:[~2022-09-17 16:55 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-06 13:44 [PATCH 1/2] smbios: Simplify reporting of unknown values Ilias Apalodimas
2022-09-06 13:44 ` [PATCH 2/2] smbios: Fallback to the default DT if sysinfo nodes are missing Ilias Apalodimas
2022-09-20 11:10 ` Peter Robinson
2022-09-29 9:59 ` Simon Glass
2022-09-29 10:23 ` Ilias Apalodimas
2022-09-29 23:55 ` Simon Glass
2022-09-30 9:56 ` Mark Kettenis
2022-09-30 14:51 ` Tom Rini
2022-09-12 18:31 ` [PATCH 1/2] smbios: Simplify reporting of unknown values Simon Glass
2022-09-16 20:30 ` Ilias Apalodimas
2022-09-17 16:55 ` Sean Anderson [this message]
2022-09-26 10:56 ` Ilias Apalodimas
2022-09-29 4:34 ` Sean Anderson
2022-09-29 9:59 ` Simon Glass
2022-09-29 14:02 ` Sean Anderson
2022-09-30 14:25 ` Tom Rini
2022-09-29 10:09 ` Ilias Apalodimas
2022-09-20 10:15 ` Peter Robinson
2022-09-20 11:09 ` Peter Robinson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0e250d37-de96-330b-4666-af07fd65e2e8@gmail.com \
--to=seanga2@gmail.com \
--cc=heinrich.schuchardt@canonical.com \
--cc=ilias.apalodimas@linaro.org \
--cc=pbrobinson@gmail.com \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox