summaryrefslogtreecommitdiff
path: root/lib/smbios.c
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-08-19 01:23:29 +0200
committerAlexander Graf <agraf@suse.de>2016-10-19 09:01:52 +0200
commite663b350f1699312281ddd1439dda6b5fc86598d (patch)
treeed2c0109e34f1dcc66861c8e8d06abb94c27c4aa /lib/smbios.c
parent96476206c54ee9c94e5994d96f52ec9d2063967a (diff)
downloadu-boot-e663b350f1699312281ddd1439dda6b5fc86598d.tar.gz
u-boot-e663b350f1699312281ddd1439dda6b5fc86598d.tar.bz2
u-boot-e663b350f1699312281ddd1439dda6b5fc86598d.zip
smbios: Expose in efi_loader as table
We can pass SMBIOS easily as EFI configuration table to an EFI payload. This patch adds enablement for that case. While at it, we also enable SMBIOS generation for ARM systems, since they support EFI_LOADER. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'lib/smbios.c')
-rw-r--r--lib/smbios.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/smbios.c b/lib/smbios.c
index 09a90cae83..237f5f05fd 100644
--- a/lib/smbios.c
+++ b/lib/smbios.c
@@ -83,14 +83,20 @@ static int smbios_write_type0(uintptr_t *current, int handle)
t->vendor = smbios_add_string(t->eos, "U-Boot");
t->bios_ver = smbios_add_string(t->eos, PLAIN_VERSION);
t->bios_release_date = smbios_add_string(t->eos, U_BOOT_DMI_DATE);
+#ifdef CONFIG_ROM_SIZE
t->bios_rom_size = (CONFIG_ROM_SIZE / 65536) - 1;
+#endif
t->bios_characteristics = BIOS_CHARACTERISTICS_PCI_SUPPORTED |
BIOS_CHARACTERISTICS_SELECTABLE_BOOT |
BIOS_CHARACTERISTICS_UPGRADEABLE;
#ifdef CONFIG_GENERATE_ACPI_TABLE
t->bios_characteristics_ext1 = BIOS_CHARACTERISTICS_EXT1_ACPI;
#endif
+#ifdef CONFIG_EFI_LOADER
+ t->bios_characteristics_ext1 |= BIOS_CHARACTERISTICS_EXT1_UEFI;
+#endif
t->bios_characteristics_ext2 = BIOS_CHARACTERISTICS_EXT2_TARGET;
+
t->bios_major_release = 0xff;
t->bios_minor_release = 0xff;
t->ec_major_release = 0xff;