From 4330b961c472e359475bd17d56088c16e4a175b8 Mon Sep 17 00:00:00 2001 From: JingleHsuWiwynn Date: Thu, 28 Jan 2021 09:13:42 +0800 Subject: 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 Change-Id: I7dee3a944a49ffcfdc2f4408d92a17aa39761bb0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50015 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons --- src/arch/x86/smbios.c | 1 + src/arch/x86/smbios_defaults.c | 5 +++++ src/include/smbios.h | 1 + 3 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index b3e1c138f8..8c595ff3d4 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -609,6 +609,7 @@ static int smbios_write_type3(unsigned long *current, int handle) t->thermal_state = SMBIOS_STATE_SAFE; t->_type = smbios_mainboard_enclosure_type(); 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->version = smbios_add_string(t->eos, smbios_chassis_version()); t->serial_number = smbios_add_string(t->eos, smbios_chassis_serial_number()); diff --git a/src/arch/x86/smbios_defaults.c b/src/arch/x86/smbios_defaults.c index 4d8883f3cd..3d26bbbd85 100644 --- a/src/arch/x86/smbios_defaults.c +++ b/src/arch/x86/smbios_defaults.c @@ -143,3 +143,8 @@ __weak const char *smbios_processor_serial_number(void) { return ""; } + +__weak u8 smbios_chassis_power_cords(void) +{ + return 1; +} diff --git a/src/include/smbios.h b/src/include/smbios.h index 2f63aac6ab..5cbd3c3e97 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -54,6 +54,7 @@ const char *smbios_mainboard_location_in_chassis(void); const char *smbios_chassis_version(void); const char *smbios_chassis_serial_number(void); const char *smbios_processor_serial_number(void); +u8 smbios_chassis_power_cords(void); /* This string could be filled late in payload. */ void smbios_type0_bios_version(uintptr_t address); -- cgit v1.2.3