From ebd8a4f90cf58cd03a95fcc01acea1c59b0cad4e Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Wed, 1 Nov 2017 09:49:16 +0100 Subject: x86/smbios: Untangle system and board tables We were used to set the same values in the system and board tables. We'll keep the mainboard values as defaults for the system tables, so nothing changes unless somebody overrides the system table hooks. Change-Id: I3c9c95a1307529c3137647a161a698a4c3daa0ae Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/c/coreboot/+/29477 Tested-by: build bot (Jenkins) Reviewed-by: Richard Spiegel Reviewed-by: HAOUAS Elyes --- src/arch/x86/smbios.c | 54 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 22 deletions(-) (limited to 'src/arch/x86') diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index 1d0ced16c9..8cb59df6a3 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -402,8 +402,6 @@ static int smbios_write_type0(unsigned long *current, int handle) return len; } -#if !CONFIG(SMBIOS_PROVIDED_BY_MOBO) - const char *__weak smbios_mainboard_serial_number(void) { return CONFIG_MAINBOARD_SERIAL_NUMBER; @@ -424,12 +422,6 @@ const char *__weak smbios_mainboard_product_name(void) return CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME; } -void __weak smbios_mainboard_set_uuid(u8 *uuid) -{ - /* leave all zero */ -} -#endif - const char *__weak smbios_mainboard_asset_tag(void) { return ""; @@ -450,17 +442,35 @@ smbios_board_type __weak smbios_mainboard_board_type(void) return SMBIOS_BOARD_TYPE_UNKNOWN; } -const char *__weak smbios_mainboard_sku(void) +const char *__weak smbios_system_serial_number(void) { - return ""; + return smbios_mainboard_serial_number(); } -#ifdef CONFIG_MAINBOARD_FAMILY -const char *smbios_mainboard_family(void) +const char *__weak smbios_system_version(void) +{ + return smbios_mainboard_version(); +} + +const char *__weak smbios_system_manufacturer(void) +{ + return smbios_mainboard_manufacturer(); +} + +const char *__weak smbios_system_product_name(void) { - return CONFIG_MAINBOARD_FAMILY; + return smbios_mainboard_product_name(); +} + +void __weak smbios_system_set_uuid(u8 *uuid) +{ + /* leave all zero */ +} + +const char *__weak smbios_system_sku(void) +{ + return ""; } -#endif /* CONFIG_MAINBOARD_FAMILY */ static int smbios_write_type1(unsigned long *current, int handle) { @@ -472,17 +482,17 @@ static int smbios_write_type1(unsigned long *current, int handle) t->handle = handle; t->length = len - 2; t->manufacturer = smbios_add_string(t->eos, - smbios_mainboard_manufacturer()); + smbios_system_manufacturer()); t->product_name = smbios_add_string(t->eos, - smbios_mainboard_product_name()); + smbios_system_product_name()); t->serial_number = smbios_add_string(t->eos, - smbios_mainboard_serial_number()); - t->sku = smbios_add_string(t->eos, smbios_mainboard_sku()); - t->version = smbios_add_string(t->eos, smbios_mainboard_version()); + smbios_system_serial_number()); + t->sku = smbios_add_string(t->eos, smbios_system_sku()); + t->version = smbios_add_string(t->eos, smbios_system_version()); #ifdef CONFIG_MAINBOARD_FAMILY - t->family = smbios_add_string(t->eos, smbios_mainboard_family()); + t->family = smbios_add_string(t->eos, CONFIG_MAINBOARD_FAMILY); #endif - smbios_mainboard_set_uuid(t->uuid); + smbios_system_set_uuid(t->uuid); len = t->length + smbios_string_table_len(t->eos); *current += len; return len; @@ -526,7 +536,7 @@ static int smbios_write_type3(unsigned long *current, int handle) t->handle = handle; t->length = len - 2; t->manufacturer = smbios_add_string(t->eos, - smbios_mainboard_manufacturer()); + smbios_system_manufacturer()); t->bootup_state = SMBIOS_STATE_SAFE; t->power_supply_state = SMBIOS_STATE_SAFE; t->thermal_state = SMBIOS_STATE_SAFE; -- cgit v1.2.3