[PATCH] smbios: Fix BIOS Characteristics Extension Byte 2
Simon Glass
sjg at chromium.org
Sat Jun 26 20:29:59 CEST 2021
Hi Ilias,
On Wed, 9 Jun 2021 at 09:14, Ilias Apalodimas
<ilias.apalodimas at linaro.org> 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 at 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;
> #endif
> #ifdef CONFIG_EFI_LOADER
Can you please drop this #ifdef while you are here - should use IS_ENABLED()
> - 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;
>
> /* bios_major_release has only one byte, so drop century */
> t->bios_major_release = U_BOOT_VERSION_NUM % 100;
> --
> 2.32.0.rc0
>
Regards,
Simon
More information about the U-Boot
mailing list