All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
To: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Bin Meng <bmeng.cn@gmail.com>, Simon Glass <sjg@chromium.org>,
	 Christian Gmeiner <christian.gmeiner@gmail.com>,
	U-Boot Mailing List <u-boot@lists.denx.de>
Subject: Re: [PATCH] smbios: Fix BIOS Characteristics Extension Byte 2
Date: Thu, 10 Jun 2021 13:18:17 +0300	[thread overview]
Message-ID: <CAC_iWjJX+WY9OyZMoqepGBa4VHWqQ8BKR8c2kdDWgQPd_=M4NA@mail.gmail.com> (raw)
In-Reply-To: <838cf80e-1a3f-3ff0-65ce-d7676ec80c87@gmx.de>

Hi Heinrich


On Thu, 10 Jun 2021 at 13:16, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>
> On 6/9/21 5:14 PM, Ilias Apalodimas wrote:
> > We currently define the EFI support of an SMBIOS table as the third bit of
> > "BIOS Characteristics Extension Byte 1".  The latest DMTF spec defines it
> > on "BIOS Characteristics Extension Byte 2".
> >
> > Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> > ---
> >   include/smbios.h | 2 +-
> >   lib/smbios.c     | 5 +++--
> >   2 files changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/smbios.h b/include/smbios.h
> > index ffeefb47372d..fc49fc10b9d7 100644
> > --- a/include/smbios.h
> > +++ b/include/smbios.h
> > @@ -60,7 +60,7 @@ struct __packed smbios_entry {
> >   #define BIOS_CHARACTERISTICS_SELECTABLE_BOOT        (1 << 16)
> >
> >   #define BIOS_CHARACTERISTICS_EXT1_ACPI              (1 << 0)
> > -#define BIOS_CHARACTERISTICS_EXT1_UEFI               (1 << 3)
> > +#define BIOS_CHARACTERISTICS_EXT2_UEFI               (1 << 3)
> >   #define BIOS_CHARACTERISTICS_EXT2_TARGET    (1 << 2)
> >
> >   struct __packed smbios_type0 {
> > diff --git a/lib/smbios.c b/lib/smbios.c
> > index 9eb226ec9fbd..abdd157a7084 100644
> > --- a/lib/smbios.c
> > +++ b/lib/smbios.c
> > @@ -214,6 +214,7 @@ static int smbios_write_type0(ulong *current, int handle,
> >               gd->smbios_version = ctx->last_str;
> >       log_debug("smbios_version = %p: '%s'\n", gd->smbios_version,
> >                 gd->smbios_version);
> > +     t->bios_characteristics_ext2 = 0;
> >   #ifdef LOG_DEBUG
> >       print_buffer((ulong)gd->smbios_version, gd->smbios_version,
> >                    1, strlen(gd->smbios_version) + 1, 0);
> > @@ -229,9 +230,9 @@ static int smbios_write_type0(ulong *current, int handle,
> >       t->bios_characteristics_ext1 = BIOS_CHARACTERISTICS_EXT1_ACPI;
>
> This looks fishy. Where is t->bios_characteristics_ext1 initialized if
> CONFIG_GENERATE_ACPI_TABLE=n? efi_smbios_register() does not zero out
> the memory.
>
> We should initialize the field irrespective of the configuration and
> then use a bitwise or here.
>
> >   #endif
> >   #ifdef CONFIG_EFI_LOADER
> > -     t->bios_characteristics_ext1 |= BIOS_CHARACTERISTICS_EXT1_UEFI;
> > +     t->bios_characteristics_ext2 |= BIOS_CHARACTERISTICS_EXT2_UEFI;
> >   #endif
> > -     t->bios_characteristics_ext2 = BIOS_CHARACTERISTICS_EXT2_TARGET;
> > +     t->bios_characteristics_ext2 |= BIOS_CHARACTERISTICS_EXT2_TARGET;
>
> Where is t->bios_characteristics_ext2 initialized?
> We don't want random bytes.

A few lines above, in this patchset

>
> @Simon:
> The usage of ulong instead of pointers in this module does not make
> sense to me. If the sandbox needs to call it, it should map its virtual
> addresses. We should not spill those conversion into non-sandbox code.
>
> Best regards
>
> Heinrich
>
> >
> >       /* bios_major_release has only one byte, so drop century */
> >       t->bios_major_release = U_BOOT_VERSION_NUM % 100;
> >
>

  reply	other threads:[~2021-06-10 10:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-09 15:14 [PATCH] smbios: Fix BIOS Characteristics Extension Byte 2 Ilias Apalodimas
2021-06-10 10:11 ` Heinrich Schuchardt
2021-06-10 10:18   ` Ilias Apalodimas [this message]
2021-06-26 18:29 ` Simon Glass
2021-06-26 18:40   ` Ilias Apalodimas

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='CAC_iWjJX+WY9OyZMoqepGBa4VHWqQ8BKR8c2kdDWgQPd_=M4NA@mail.gmail.com' \
    --to=ilias.apalodimas@linaro.org \
    --cc=bmeng.cn@gmail.com \
    --cc=christian.gmeiner@gmail.com \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    --cc=xypron.glpk@gmx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.