diff options
-rw-r--r-- | src/arch/x86/smbios.c | 1 | ||||
-rw-r--r-- | src/arch/x86/smbios_defaults.c | 5 | ||||
-rw-r--r-- | src/include/smbios.h | 13 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c index 04f8717e72..ea429713ae 100644 --- a/src/arch/x86/smbios.c +++ b/src/arch/x86/smbios.c @@ -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 diff --git a/src/arch/x86/smbios_defaults.c b/src/arch/x86/smbios_defaults.c index 30bbea1a8e..8b62ebba14 100644 --- a/src/arch/x86/smbios_defaults.c +++ b/src/arch/x86/smbios_defaults.c @@ -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; diff --git a/src/include/smbios.h b/src/include/smbios.h index fd9fbd40c9..2fb6297ea3 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -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); |