src/lib/smbios: Advertise UEFI support for EDK2

fwupd checks SMBIOS Type 0 BIOS Characteristics Extension Byte 2 bit 3
(UEFI Specification Supported) when deciding if UEFI capsule updates are
supported.

Set the flag when coreboot is built with the EDK2 payload.

Change-Id: I4d24deeca88cde5411225f8d113704f5a04e8a34
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90860
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
This commit is contained in:
Sean Rhodes 2026-01-21 21:46:19 +00:00
commit f84a676cc7
2 changed files with 4 additions and 0 deletions

View file

@ -123,6 +123,7 @@ int smbios_write_type8(unsigned long *current, int *handle,
#define BIOS_EXT1_CHARACTERISTICS_ACPI (1 << 0)
#define BIOS_EXT2_CHARACTERISTICS_TARGET (1 << 2)
#define BIOS_EXT2_CHARACTERISTICS_UEFI_SUPPORT (1 << 3)
#define BIOS_MEMORY_ECC_SINGLE_BIT_CORRECTING (1 << 3)
#define BIOS_MEMORY_ECC_DOUBLE_BIT_CORRECTING (1 << 4)

View file

@ -412,6 +412,9 @@ static int smbios_write_type0(unsigned long *current, int handle)
t->bios_characteristics_ext1 = BIOS_EXT1_CHARACTERISTICS_ACPI;
t->bios_characteristics_ext2 = BIOS_EXT2_CHARACTERISTICS_TARGET;
if (CONFIG(PAYLOAD_EDK2))
t->bios_characteristics_ext2 |= BIOS_EXT2_CHARACTERISTICS_UEFI_SUPPORT;
const int len = smbios_full_table_len(&t->header, t->eos);
*current += len;
return len;