@@ -60,6 +60,22 @@ struct smbios_type_1 {
uint8_t family_str;
} QEMU_PACKED;
+/* SMBIOS type 2 - Base Board */
+struct smbios_type_2 {
+ struct smbios_structure_header header;
+ uint8_t manufacturer_str;
+ uint8_t product_str;
+ uint8_t version_str;
+ uint8_t serial_number_str;
+ uint8_t asset_tag_number_str;
+ uint8_t feature_flags;
+ uint8_t location_str;
+ uint16_t chassis_handle;
+ uint8_t board_type;
+ uint8_t contained_element_count;
+ // contained elements follow
+} QEMU_PACKED;
+
/* SMBIOS type 3 - System Enclosure (v2.3) */
struct smbios_type_3 {
struct smbios_structure_header header;
@@ -79,7 +95,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 +113,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 +131,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 +147,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 */
- update type 4 and 17 structures to v2.3 of the smbios spec - add type 2 structure definition Signed-off-by: Gabriel Somlo <somlo@cmu.edu> --- This patch changes none of the current functionality. It simply documents a few missing fields and adds the definition for an optional type, so I'm hoping it will not be too controversial :) Thanks, Gabriel include/hw/i386/smbios.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-)