[PATCH v3 12/19] x86: smbios: Add a Kconfig indicating SMBIOS-table presence

Simon Glass sjg at chromium.org
Sun Aug 20 19:49:12 CEST 2023


Hi Heinrich,

On Sun, 20 Aug 2023 at 04:00, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 8/19/23 23:22, Simon Glass wrote:
> > When booted from coreboot, U-Boot does not build the SMBIOS tables, but
> > it should still pass them on to the OS. Add a new option which indicates
> > whether SMBIOS tables are present, however they were built.
> >
> > Flip the ordering so that the dependency is listed first, which is less
> > confusing.
> >
> > Adjust GENERATE_SMBIOS_TABLE to depend on this new symbol.
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > Changes in v3:
> > - Allow SMBIOS if EFI_LOADER is enabled
> > - Reword the help
> >
> > Changes in v2:
> > - Add new patch
> >
> >   lib/Kconfig | 15 ++++++++++++++-
> >   1 file changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/Kconfig b/lib/Kconfig
> > index a9dca5f52b5a..8901b3a87fc2 100644
> > --- a/lib/Kconfig
> > +++ b/lib/Kconfig
> > @@ -984,8 +984,8 @@ config BLOBLIST_TABLES
> >
> >   config GENERATE_SMBIOS_TABLE
> >       bool "Generate an SMBIOS (System Management BIOS) table"
> > +     depends on SMBIOS
> >       default y
> > -     depends on X86 || EFI_LOADER
> >       help
> >         The System Management BIOS (SMBIOS) specification addresses how
> >         motherboard and system vendors present management information about
> > @@ -1054,6 +1054,19 @@ config SPL_OID_REGISTRY
> >         unambiguous persistent name (https://en.wikipedia.org/wiki/Object_identifier).
> >         Enable fast lookup object identifier registry in the SPL.
> >
> > +config SMBIOS
> > +     bool "SMBIOS support"
> > +     depends on X86 || EFI_LOADER
>
> Is there a calling convention for the legacy entry point of Linux to
> pass SMBIOS tables on arm64 and riscv64?
>
> > +     default y
> > +     help
> > +       Indicates that this platform can support System Management BIOS
> > +       (SMBIOS) tables. These provide various pieces of information about
> > +       the board, such as the manufacturer and the model name.
> > +
> > +       See GENERATE_SMBIOS_TABLE which controls whether U-Boot actually
> > +       creates these tables, rather than them coming from a previous firmware
>
> Thanks for updating the help text.
>
> This implies that CONFIG_SMBIOS must be used to decide if
> efi_smbios_register() is called in efi_init_obj_list(). This change is
> in patch 14/19.

Yes that's right, since we still need to install it if the platform uses SMBIOS.

>
>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

Thanks for the review..unfortunately I found that on ARM (and probably
RISC-V) U-Boot does not create this table. On x86 last_state_init()
calls write_tables() to do this.

So I will have to adjust this...

Regards,
Simon


More information about the U-Boot mailing list