diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2012-04-02 13:30:10 -0700 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2012-04-03 19:35:26 +0200 |
commit | 3d7c6770c4e3db539b2b0ef6088977922ef8b924 (patch) | |
tree | 36153ada7107b3128b720b7f309abee227bba5c4 | |
parent | 4a2daf6a99dcdcf177bf9e0d630fec8b5b65ca30 (diff) |
smbios: add support for onboard devices extended information
Add support for type 41 smbios tables (to be used by board
specific smbios handlers)
Change-Id: Id6af5e4b1f5c5c78c63759d24fdc7cf8537ae5e6
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Reviewed-on: http://review.coreboot.org/843
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
-rw-r--r-- | src/include/smbios.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/include/smbios.h b/src/include/smbios.h index f13d6217db..1210f0f123 100644 --- a/src/include/smbios.h +++ b/src/include/smbios.h @@ -32,6 +32,7 @@ typedef enum { SMBIOS_MEMORY_DEVICE=17, SMBIOS_MEMORY_ARRAY_MAPPED_ADDRESS=19, SMBIOS_SYSTEM_BOOT_INFORMATION=32, + SMBIOS_ONBOARD_DEVICES_EXTENDED_INFORMATION=41, SMBIOS_END_OF_TABLE=127, } smbios_struct_type_t; @@ -187,6 +188,34 @@ struct smbios_type32 { u8 eos[2]; } __attribute__((packed)); +typedef enum { + SMBIOS_DEVICE_TYPE_OTHER = 0x01, + SMBIOS_DEVICE_TYPE_UNKNOWN, + SMBIOS_DEVICE_TYPE_VIDEO, + SMBIOS_DEVICE_TYPE_SCSI, + SMBIOS_DEVICE_TYPE_ETHERNET, + SMBIOS_DEVICE_TYPE_TOKEN_RING, + SMBIOS_DEVICE_TYPE_SOUND, + SMBIOS_DEVICE_TYPE_PATA, + SMBIOS_DEVICE_TYPE_SATA, + SMBIOS_DEVICE_TYPE_SAS, +} smbios_onboard_device_type; + +struct smbios_type41 { + u8 type; + u8 length; + u16 handle; + u8 reference_designation; + u8 device_type: 7; + u8 device_status: 1; + u8 device_type_instance; + u16 segment_group_number; + u8 bus_number; + u8 function_number: 3; + u8 device_number: 5; + char eos[2]; +} __attribute__((packed)); + struct smbios_type127 { u8 type; u8 length; |