smbios: Make SMBIOS type 3 enclosure type settable at runtime
smbios.h had already declared smbios_mainboard_enclosure_type so this change defines it. It can be overridden in a mainboard so the enclosure type can be set at runtime. We have a mainboard that will be used in different enclosures and we are planning on using a single BIOS image for all of the enclosures so it will need to be set dynamically based on sku. BUG=b:138745917 TEST=Built arcada firmware and verified via dmidecode that enclosure type is correctly set to "Convertible", then temporarily added a smbios_mainboard_enclosure_type to arcadas board file returning 0x20 and verified with dmidecode that the enclosure type is "Detachable" Change-Id: Iba6e582640989f5cb7e6613813e7b033760a977c Signed-off-by: Mathew King <mathewk@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34646 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
871d2c74a2
commit
a7d55cf910
|
@ -500,6 +500,11 @@ smbios_board_type __weak smbios_mainboard_board_type(void)
|
||||||
return SMBIOS_BOARD_TYPE_UNKNOWN;
|
return SMBIOS_BOARD_TYPE_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 __weak smbios_mainboard_enclosure_type(void)
|
||||||
|
{
|
||||||
|
return CONFIG_SMBIOS_ENCLOSURE_TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
const char *__weak smbios_system_serial_number(void)
|
const char *__weak smbios_system_serial_number(void)
|
||||||
{
|
{
|
||||||
return smbios_mainboard_serial_number();
|
return smbios_mainboard_serial_number();
|
||||||
|
@ -620,7 +625,7 @@ static int smbios_write_type3(unsigned long *current, int handle)
|
||||||
t->bootup_state = SMBIOS_STATE_SAFE;
|
t->bootup_state = SMBIOS_STATE_SAFE;
|
||||||
t->power_supply_state = SMBIOS_STATE_SAFE;
|
t->power_supply_state = SMBIOS_STATE_SAFE;
|
||||||
t->thermal_state = SMBIOS_STATE_SAFE;
|
t->thermal_state = SMBIOS_STATE_SAFE;
|
||||||
t->_type = CONFIG_SMBIOS_ENCLOSURE_TYPE;
|
t->_type = smbios_mainboard_enclosure_type();
|
||||||
t->security_status = SMBIOS_STATE_SAFE;
|
t->security_status = SMBIOS_STATE_SAFE;
|
||||||
len = t->length + smbios_string_table_len(t->eos);
|
len = t->length + smbios_string_table_len(t->eos);
|
||||||
*current += len;
|
*current += len;
|
||||||
|
|
Loading…
Reference in New Issue