lib/smbios: Add a config string for BIOS Vendor in SMBIOS Type 0

BIOS Vendor in SMBIOS Type 0 would be who built the firmware so create a
config string with default "coreboot" to make it changeable. Vendors
could update it by adding a Kconfig in the site-local directory.

Change-Id: I6dfcca338ffc48b150c966b9aefcefe928704d24
Signed-off-by: Yiwei Tang <tangyiwei.2022@bytedance.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75737
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
diff --git a/src/Kconfig b/src/Kconfig
index 8e72f2d..f5ba4fc 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -891,6 +891,13 @@
 
 if GENERATE_SMBIOS_TABLES
 
+config BIOS_VENDOR
+	prompt "SMBIOS BIOS Vendor name"
+	string
+	default "coreboot"
+	help
+	  The BIOS Vendor name to store in the SMBIOS Type0 table.
+
 config MAINBOARD_SERIAL_NUMBER
 	prompt "SMBIOS Serial Number" if !SMBIOS_PROVIDED_BY_MOBO
 	string
diff --git a/src/lib/smbios.c b/src/lib/smbios.c
index 3b3360c..deee193b 100644
--- a/src/lib/smbios.c
+++ b/src/lib/smbios.c
@@ -371,7 +371,7 @@
 	struct smbios_type0 *t = smbios_carve_table(*current, SMBIOS_BIOS_INFORMATION,
 						    sizeof(*t), handle);
 
-	t->vendor = smbios_add_string(t->eos, "coreboot");
+	t->vendor = smbios_add_string(t->eos, CONFIG_BIOS_VENDOR);
 	t->bios_release_date = smbios_add_string(t->eos, coreboot_dmi_date);
 
 	if (CONFIG(CHROMEOS_NVS)) {