diff options
author | Tom Rini <trini@konsulko.com> | 2020-05-27 10:55:55 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-05-27 10:55:55 -0400 |
commit | 0d6a3e23225ad8c8e302044f8f720f657edda4f7 (patch) | |
tree | a007bea38f55122ef7c74169e22106c8efeaf42f /arch/x86/cpu/coreboot/tables.c | |
parent | 0ab24c37f03a3a23982edb63d88c4f22bb8bc2c5 (diff) | |
parent | 0621b5e1eeb6bcf08b220136f09d433d880f65a5 (diff) |
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-x86
- Use device tree for FSP-M and FSP-S configuration on Intel Apollo Lake
- Add SMBIOS cbmem entry parsing for coreboot
- Various clean-ups to CBFS implementation
Diffstat (limited to 'arch/x86/cpu/coreboot/tables.c')
-rw-r--r-- | arch/x86/cpu/coreboot/tables.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/cpu/coreboot/tables.c b/arch/x86/cpu/coreboot/tables.c index 0f04c4f8e9..a5d31d1dea 100644 --- a/arch/x86/cpu/coreboot/tables.c +++ b/arch/x86/cpu/coreboot/tables.c @@ -69,6 +69,17 @@ static void cb_parse_vbnv(unsigned char *ptr, struct sysinfo_t *info) info->vbnv_size = vbnv->vbnv_size; } +static void cb_parse_cbmem_entry(unsigned char *ptr, struct sysinfo_t *info) +{ + struct cb_cbmem_entry *entry = (struct cb_cbmem_entry *)ptr; + + if (entry->id != CBMEM_ID_SMBIOS) + return; + + info->smbios_start = entry->address; + info->smbios_size = entry->entry_size; +} + static void cb_parse_gpios(unsigned char *ptr, struct sysinfo_t *info) { int i; @@ -206,6 +217,9 @@ static int cb_parse_header(void *addr, int len, struct sysinfo_t *info) case CB_TAG_VBNV: cb_parse_vbnv(ptr, info); break; + case CB_TAG_CBMEM_ENTRY: + cb_parse_cbmem_entry(ptr, info); + break; default: cb_parse_unhandled(rec->tag, ptr); break; |