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

2023-08-20 Thread Simon Glass
Hi Heinrich,

On Sun, 20 Aug 2023 at 04:00, Heinrich Schuchardt  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 
> > ---
> >
> > 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 

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


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

2023-08-20 Thread Heinrich Schuchardt

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 
---

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.

Reviewed-by: Heinrich Schuchardt 


+ stage.
+
  config SMBIOS_PARSER
bool "SMBIOS parser"
hel


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

2023-08-19 Thread Simon Glass
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 
---

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
+   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
+ stage.
+
 config SMBIOS_PARSER
bool "SMBIOS parser"
help
-- 
2.42.0.rc1.204.g551eb34607-goog