arch/x86/smbios: Add Number Of Power Cords field to be overriden

For SMBIOS type 3, add function to override number of power cords

Tested=Exectute dmidecode -t 3 to verify.

Signed-off-by: JingleHsuWiwynn <jingle_hsu@wiwynn.com>
Change-Id: I7dee3a944a49ffcfdc2f4408d92a17aa39761bb0
Reviewed-on: https://review.coreboot.org/c/coreboot/+/50015
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
JingleHsuWiwynn
2021-01-28 09:13:42 +08:00
committed by Patrick Georgi
parent f578b6f8f4
commit 4330b961c4
3 changed files with 7 additions and 0 deletions

View File

@@ -609,6 +609,7 @@ static int smbios_write_type3(unsigned long *current, int handle)
t->thermal_state = SMBIOS_STATE_SAFE; t->thermal_state = SMBIOS_STATE_SAFE;
t->_type = smbios_mainboard_enclosure_type(); t->_type = smbios_mainboard_enclosure_type();
t->security_status = SMBIOS_STATE_SAFE; t->security_status = SMBIOS_STATE_SAFE;
t->number_of_power_cords = smbios_chassis_power_cords();
t->asset_tag_number = smbios_add_string(t->eos, smbios_mainboard_asset_tag()); t->asset_tag_number = smbios_add_string(t->eos, smbios_mainboard_asset_tag());
t->version = smbios_add_string(t->eos, smbios_chassis_version()); t->version = smbios_add_string(t->eos, smbios_chassis_version());
t->serial_number = smbios_add_string(t->eos, smbios_chassis_serial_number()); t->serial_number = smbios_add_string(t->eos, smbios_chassis_serial_number());

View File

@@ -143,3 +143,8 @@ __weak const char *smbios_processor_serial_number(void)
{ {
return ""; return "";
} }
__weak u8 smbios_chassis_power_cords(void)
{
return 1;
}

View File

@@ -54,6 +54,7 @@ const char *smbios_mainboard_location_in_chassis(void);
const char *smbios_chassis_version(void); const char *smbios_chassis_version(void);
const char *smbios_chassis_serial_number(void); const char *smbios_chassis_serial_number(void);
const char *smbios_processor_serial_number(void); const char *smbios_processor_serial_number(void);
u8 smbios_chassis_power_cords(void);
/* This string could be filled late in payload. */ /* This string could be filled late in payload. */
void smbios_type0_bios_version(uintptr_t address); void smbios_type0_bios_version(uintptr_t address);