diff options
author | Martin Roth <martinroth@google.com> | 2018-09-24 15:39:12 -0600 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2018-09-25 21:02:16 +0000 |
commit | 1f42a38e0fb9b4f080000cb7401a5939e68ca584 (patch) | |
tree | 3db8fbd89b998bef3131da0502695987a641f38f /src/mainboard | |
parent | ea525006a57bcd91ca2a78728f5a27e34fe0be32 (diff) | |
download | coreboot-1f42a38e0fb9b4f080000cb7401a5939e68ca584.tar.xz |
mainboard/google/kahlee: Only read a single vendor from oem.bin
Since each variant has a separate build, we don't need to support
multiple manufacturers in a single file.
BUG=b:79874904
TEST=Build, boot, see updated mainboard manufacturer
Change-Id: I0ccf207ba8d5e5200aa4b19c46784bbda82f7b6e
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/28729
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@google.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r-- | src/mainboard/google/kahlee/variants/baseboard/mainboard.c | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/src/mainboard/google/kahlee/variants/baseboard/mainboard.c b/src/mainboard/google/kahlee/variants/baseboard/mainboard.c index ad5fb2bc4f..d60023fa7c 100644 --- a/src/mainboard/google/kahlee/variants/baseboard/mainboard.c +++ b/src/mainboard/google/kahlee/variants/baseboard/mainboard.c @@ -76,26 +76,10 @@ void board_bh720(struct device *dev) write32((void *)(sdbar + BH720_MEM_ACCESS_EN), 0x80000000); } -static uint8_t calc_oem_id(void) -{ - return variant_board_sku() / 0x10; -} - -/* "oem.bin" in cbfs contains an array of records using the following structure. */ -struct oem_mapping { - uint8_t oem_id; - char oem_name[10]; -} __packed; - -/* Local buffer to read "oem.bin" */ -static char oem_bin_data[200]; const char *smbios_mainboard_manufacturer(void) { - uint8_t oem_id; - const struct oem_mapping *oem_entry = (void *)&oem_bin_data; - size_t oem_data_size; - unsigned int i, oem_entries_count; + static char oem_bin_data[10]; static const char *manuf; if (!IS_ENABLED(CONFIG_USE_OEM_BIN)) @@ -104,20 +88,11 @@ const char *smbios_mainboard_manufacturer(void) if (manuf) return manuf; - oem_data_size = cbfs_boot_load_file("oem.bin", oem_bin_data, - sizeof(oem_bin_data), - CBFS_TYPE_RAW); - oem_id = calc_oem_id(); - oem_entries_count = oem_data_size / sizeof(*oem_entry); - for (i = 0; i < oem_entries_count; i++) { - if (oem_id == oem_entry->oem_id) { - manuf = oem_entry->oem_name; - break; - } - oem_entry++; - } - - if (manuf == NULL) + if (cbfs_boot_load_file("oem.bin", oem_bin_data, + sizeof(oem_bin_data) - 1, + CBFS_TYPE_RAW)) + manuf = &oem_bin_data[0]; + else manuf = CONFIG_MAINBOARD_SMBIOS_MANUFACTURER; return manuf; |