arch/x86/smbios: Add support for wake-up type in smbios type 1
Add system wake-up type in smbios type 1 - system information. TESTED=On S9S, can override original value and show expected result using "dmidecode -t 1". Signed-off-by: Tim Chu <Tim.Chu@quantatw.com> Change-Id: If79ba65426f1f18ebb55a0f3ef022bee83c1a93b Reviewed-on: https://review.coreboot.org/c/coreboot/+/58436 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
This commit is contained in:
parent
91e8c2a1d4
commit
13ab1d7879
@ -489,6 +489,7 @@ static int smbios_write_type1(unsigned long *current, int handle)
|
||||
t->manufacturer = smbios_add_string(t->eos, smbios_system_manufacturer());
|
||||
t->product_name = smbios_add_string(t->eos, smbios_system_product_name());
|
||||
t->serial_number = smbios_add_string(t->eos, smbios_system_serial_number());
|
||||
t->wakeup_type = smbios_system_wakeup_type();
|
||||
t->sku = smbios_add_string(t->eos, smbios_system_sku());
|
||||
t->version = smbios_add_string(t->eos, smbios_system_version());
|
||||
#ifdef CONFIG_MAINBOARD_FAMILY
|
||||
|
@ -27,6 +27,11 @@ __weak void smbios_fill_dimm_asset_tag(const struct dimm_info *dimm, struct smbi
|
||||
t->asset_tag = smbios_add_string(t->eos, buf);
|
||||
}
|
||||
|
||||
__weak smbios_wakeup_type smbios_system_wakeup_type(void)
|
||||
{
|
||||
return SMBIOS_WAKEUP_TYPE_RESERVED;
|
||||
}
|
||||
|
||||
__weak const char *smbios_mainboard_bios_version(void)
|
||||
{
|
||||
return NULL;
|
||||
|
@ -308,6 +308,18 @@ struct smbios_type0 {
|
||||
u8 eos[2];
|
||||
} __packed;
|
||||
|
||||
typedef enum {
|
||||
SMBIOS_WAKEUP_TYPE_RESERVED = 0x00,
|
||||
SMBIOS_WAKEUP_TYPE_OTHER = 0x01,
|
||||
SMBIOS_WAKEUP_TYPE_UNKNOWN = 0x02,
|
||||
SMBIOS_WAKEUP_TYPE_APM_TIMER = 0x03,
|
||||
SMBIOS_WAKEUP_TYPE_MODEM_RING = 0x04,
|
||||
SMBIOS_WAKEUP_TYPE_LAN_REMOTE = 0x05,
|
||||
SMBIOS_WAKEUP_TYPE_POWER_SWITCH = 0x06,
|
||||
SMBIOS_WAKEUP_TYPE_PCI_PME = 0x07,
|
||||
SMBIOS_WAKEUP_TYPE_AC_POWER_RESTORED = 0x08,
|
||||
} smbios_wakeup_type;
|
||||
|
||||
struct smbios_type1 {
|
||||
struct smbios_header header;
|
||||
u8 manufacturer;
|
||||
@ -962,6 +974,7 @@ void smbios_fill_dimm_asset_tag(const struct dimm_info *dimm,
|
||||
void smbios_fill_dimm_locator(const struct dimm_info *dimm,
|
||||
struct smbios_type17 *t);
|
||||
|
||||
smbios_wakeup_type smbios_system_wakeup_type(void);
|
||||
smbios_board_type smbios_mainboard_board_type(void);
|
||||
smbios_enclosure_type smbios_mainboard_enclosure_type(void);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user