[PATCH v5 04/12] smbios: Use SMBIOS 3.0 to support an address above 4GB
Simon Glass
sjg at chromium.org
Mon Jan 1 23:41:30 CET 2024
Hi Heinrich,
On Mon, Jan 1, 2024 at 10:34 AM Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 12/31/23 16:25, Simon Glass wrote:
> > When the SMBIOS table is written to an address above 4GB a 32-bit table
> > address is not large enough.
> >
> > Use an SMBIOS3 table in that case.
> >
> > Note that we cannot use efi_allocate_pages() since this function has
> > nothing to do with EFI. There is no equivalent function to allocate
> > memory below 4GB in U-Boot. One solution would be to create a separate
> > malloc() pool, or just always put the malloc() pool below 4GB.
> >
> > - Use log_debug() for warning
> > - Rebase on Heinrich's smbios.h patch
> > - Set the checksum for SMBIOS3
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v4)
> >
> > Changes in v4:
> > - Check the start of the table rather than the end
> >
> > Changes in v2:
> > - Check the end of the table rather than the start.
> >
> > include/smbios.h | 6 +++++-
> > lib/smbios.c | 30 +++++++++++++++++++++++++-----
> > 2 files changed, 30 insertions(+), 6 deletions(-)
> >
> > diff --git a/include/smbios.h b/include/smbios.h
> > index e601283d293..77be58887a2 100644
> > --- a/include/smbios.h
> > +++ b/include/smbios.h
> > @@ -12,7 +12,7 @@
> >
> > /* SMBIOS spec version implemented */
> > #define SMBIOS_MAJOR_VER 3
> > -#define SMBIOS_MINOR_VER 0
> > +#define SMBIOS_MINOR_VER 7
> >
> > enum {
> > SMBIOS_STR_MAX = 64, /* Maximum length allowed for a string */
> > @@ -80,6 +80,10 @@ struct __packed smbios3_entry {
> > u64 struct_table_address;
> > };
> >
> > +/* These two structures should use the same amount of 16-byte-aligned space */
>
> I cannot see from where you take such a requirement.
> By chance it is fulfilled by the current definitions.
> If this a leftover from debugging we should remove it.
Oh, I just assumed it was a requirement, perhaps. Yes we can remove
this, if you like. In fact perhaps we should remove all SMBIOS2 stuff
as a follow-up?
Regards,
Simon
More information about the U-Boot
mailing list