diff options
author | Peter Stuge <peter@stuge.se> | 2012-10-04 21:18:13 +0200 |
---|---|---|
committer | Peter Stuge <peter@stuge.se> | 2013-07-14 23:44:10 +0200 |
commit | 4e7385b58fcff0f59db6f0c4852a57e74f0d3b00 (patch) | |
tree | 28719b18c5b9b5904b62c0323f97d381d0ad0098 | |
parent | d98cef1956aefecdfeba652085f301ea07118147 (diff) |
SMBIOS: Allow overriding default Manufacturer and Product names
The vendor and part name from coreboot is normally stored in these
SMBIOS structure fields, but it can be useful to override them.
On Lenovo ThinkPads an override is e.g. needed to convince the Linux
thinkpad_acpi.c driver that it is actually running on a ThinkPad.
Change-Id: I0dfe38b9f6f99b3376f1547412ecc97c2f7aff2b
Signed-off-by: Peter Stuge <peter@stuge.se>
Reviewed-on: http://review.coreboot.org/1556
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
-rw-r--r-- | src/arch/x86/boot/smbios.c | 6 | ||||
-rw-r--r-- | src/mainboard/Kconfig | 15 |
2 files changed, 18 insertions, 3 deletions
diff --git a/src/arch/x86/boot/smbios.c b/src/arch/x86/boot/smbios.c index 308336a5e8..073c7c5e08 100644 --- a/src/arch/x86/boot/smbios.c +++ b/src/arch/x86/boot/smbios.c @@ -192,8 +192,8 @@ static int smbios_write_type1(unsigned long *current, int handle) t->type = SMBIOS_SYSTEM_INFORMATION; t->handle = handle; t->length = len - 2; - t->manufacturer = smbios_add_string(t->eos, CONFIG_MAINBOARD_VENDOR); - t->product_name = smbios_add_string(t->eos, CONFIG_MAINBOARD_PART_NUMBER); + t->manufacturer = smbios_add_string(t->eos, CONFIG_MAINBOARD_SMBIOS_MANUFACTURER); + t->product_name = smbios_add_string(t->eos, CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME); t->serial_number = smbios_add_string(t->eos, smbios_mainboard_serial_number()); t->version = smbios_add_string(t->eos, smbios_mainboard_version()); len = t->length + smbios_string_table_len(t->eos); @@ -210,7 +210,7 @@ static int smbios_write_type3(unsigned long *current, int handle) t->type = SMBIOS_SYSTEM_ENCLOSURE; t->handle = handle; t->length = len - 2; - t->manufacturer = smbios_add_string(t->eos, CONFIG_MAINBOARD_VENDOR); + t->manufacturer = smbios_add_string(t->eos, CONFIG_MAINBOARD_SMBIOS_MANUFACTURER); t->bootup_state = SMBIOS_STATE_SAFE; t->power_supply_state = SMBIOS_STATE_SAFE; t->thermal_state = SMBIOS_STATE_SAFE; diff --git a/src/mainboard/Kconfig b/src/mainboard/Kconfig index d6413c94ef..a8cf362a05 100644 --- a/src/mainboard/Kconfig +++ b/src/mainboard/Kconfig @@ -347,4 +347,19 @@ config MAINBOARD_VERSION default "1.0" help Define the used version number which will be used by SMBIOS tables. + +config MAINBOARD_SMBIOS_MANUFACTURER + string "SMBIOS Manufacturer" + depends on GENERATE_SMBIOS_TABLES + default MAINBOARD_VENDOR + help + Override the default Manufacturer stored in SMBIOS structures. + +config MAINBOARD_SMBIOS_PRODUCT_NAME + string "SMBIOS Product name" + depends on GENERATE_SMBIOS_TABLES + default MAINBOARD_PART_NUMBER + help + Override the default Product name stored in SMBIOS structures. + endmenu |