diff options
author | Julien Viard de Galbert <jviarddegalbert@online.net> | 2018-02-28 13:39:55 +0100 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2018-03-01 13:46:49 +0000 |
commit | 9d231a9fd34670c235aa4baf88e6da9a225f56d1 (patch) | |
tree | 58158680d18848e5d08212a2e3f6c5de51653b22 | |
parent | a3af8eb76b82ea8dba9c87c90baeea3a1f192679 (diff) | |
download | coreboot-9d231a9fd34670c235aa4baf88e6da9a225f56d1.tar.xz |
smbios: Add option to select the enclosure type
This allows for a mainboard to change the value from its Kconfig.
The default value is still SMBIOS_ENCLOSURE_DESKTOP (0x03) or
SMBIOS_ENCLOSURE_LAPTOP (0x09) if SYSTEM_TYPE_LAPTOP is set.
Change-Id: I35bc913af69565531831746040a0afe0cabe1c58
Signed-off-by: Julien Viard de Galbert <jviarddegalbert@online.net>
Reviewed-on: https://review.coreboot.org/23841
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
-rw-r--r-- | src/Kconfig | 10 | ||||
-rw-r--r-- | src/arch/x86/smbios.c | 5 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/Kconfig b/src/Kconfig index 02abed2dd4..692a5b7883 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -623,6 +623,16 @@ config MAINBOARD_SMBIOS_PRODUCT_NAME help Override the default Product name stored in SMBIOS structures. +config SMBIOS_ENCLOSURE_TYPE + hex + depends on GENERATE_SMBIOS_TABLES + default 0x09 if SYSTEM_TYPE_LAPTOP + default 0x03 + help + System Enclosure or Chassis Types as defined in SMBIOS specification. + The default value is SMBIOS_ENCLOSURE_DESKTOP (0x03) or + SMBIOS_ENCLOSURE_LAPTOP (0x09) if SYSTEM_TYPE_LAPTOP is set. + endmenu source "payloads/Kconfig" diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index e1743086e7..9df997320b 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -454,10 +454,7 @@ static int smbios_write_type3(unsigned long *current, int handle) t->bootup_state = SMBIOS_STATE_SAFE; t->power_supply_state = SMBIOS_STATE_SAFE; t->thermal_state = SMBIOS_STATE_SAFE; - if (IS_ENABLED(CONFIG_SYSTEM_TYPE_LAPTOP)) - t->_type = SMBIOS_ENCLOSURE_LAPTOP; - else - t->_type = SMBIOS_ENCLOSURE_DESKTOP; + t->_type = CONFIG_SMBIOS_ENCLOSURE_TYPE; t->security_status = SMBIOS_STATE_SAFE; len = t->length + smbios_string_table_len(t->eos); *current += len; |