Table definitions for types 4 and 17 are only up to v2.0, so add fields specified in smbios v2.3, as expected (and advertised) by the SeaBIOS smbios entry point structure.
Signed-off-by: Gabriel Somlo <so...@cmu.edu> --- include/hw/i386/smbios.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/include/hw/i386/smbios.h b/include/hw/i386/smbios.h index 18fb970..de1da87 100644 --- a/include/hw/i386/smbios.h +++ b/include/hw/i386/smbios.h @@ -79,7 +79,7 @@ struct smbios_type_3 { // contained elements follow } QEMU_PACKED; -/* SMBIOS type 4 - Processor Information (v2.0) */ +/* SMBIOS type 4 - Processor Information (v2.3) */ struct smbios_type_4 { struct smbios_structure_header header; uint8_t socket_designation_str; @@ -97,6 +97,10 @@ struct smbios_type_4 { uint16_t l1_cache_handle; uint16_t l2_cache_handle; uint16_t l3_cache_handle; + uint8_t serial_number_str; + uint8_t asset_tag_number_str; + uint8_t part_number_str; + } QEMU_PACKED; /* SMBIOS type 16 - Physical Memory Array @@ -111,7 +115,7 @@ struct smbios_type_16 { uint16_t memory_error_information_handle; uint16_t number_of_memory_devices; } QEMU_PACKED; -/* SMBIOS type 17 - Memory Device +/* SMBIOS type 17 - Memory Device (v2.3) * Associated with one type 19 */ struct smbios_type_17 { @@ -127,6 +131,11 @@ struct smbios_type_17 { uint8_t bank_locator_str; uint8_t memory_type; uint16_t type_detail; + uint16_t speed; + uint8_t manufacturer_str; + uint8_t serial_number_str; + uint8_t asset_tag_number_str; + uint8_t part_number_str; } QEMU_PACKED; /* SMBIOS type 19 - Memory Array Mapped Address */ -- 1.8.1.4