diff mbox

[QEMU,v6,15/17] SMBIOS: Update type 3 definition to smbios spec v2.7

Message ID 1397508911-18691-16-git-send-email-somlo@cmu.edu
State New
Headers show

Commit Message

Gabriel L. Somlo April 14, 2014, 8:55 p.m. UTC
Signed-off-by: Gabriel Somlo <somlo@cmu.edu>
---
 hw/i386/smbios.c         | 8 +++++++-
 include/hw/i386/smbios.h | 3 ++-
 2 files changed, 9 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index eb11095..25d2aa3 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -52,7 +52,7 @@  static struct {
 } type2;
 
 static struct {
-    const char *manufacturer, *version, *serial, *asset;
+    const char *manufacturer, *version, *serial, *asset, *sku;
 } type3;
 
 static struct {
@@ -200,6 +200,10 @@  static const QemuOptDesc qemu_smbios_type3_opts[] = {
         .name = "asset",
         .type = QEMU_OPT_STRING,
         .help = "asset tag number",
+    },{
+        .name = "sku",
+        .type = QEMU_OPT_STRING,
+        .help = "SKU number",
     },
     { /* end of list */ }
 };
@@ -449,6 +453,7 @@  static void smbios_build_type_3_table(void)
     t->height = 0;
     t->number_of_power_cords = 0;
     t->contained_element_count = 0;
+    SMBIOS_TABLE_SET_STR(3, sku_number_str, type3.sku);
 
     SMBIOS_BUILD_TABLE_POST;
 }
@@ -826,6 +831,7 @@  void smbios_entry_add(QemuOpts *opts)
             save_opt(&type3.version, opts, "version");
             save_opt(&type3.serial, opts, "serial");
             save_opt(&type3.asset, opts, "asset");
+            save_opt(&type3.sku, opts, "sku");
             return;
         case 4:
             qemu_opts_validate(opts, qemu_smbios_type4_opts, &local_err);
diff --git a/include/hw/i386/smbios.h b/include/hw/i386/smbios.h
index 6be0445..7d5eac8 100644
--- a/include/hw/i386/smbios.h
+++ b/include/hw/i386/smbios.h
@@ -100,7 +100,7 @@  struct smbios_type_2 {
     /* contained elements follow */
 } QEMU_PACKED;
 
-/* SMBIOS type 3 - System Enclosure (v2.3) */
+/* SMBIOS type 3 - System Enclosure (v2.7) */
 struct smbios_type_3 {
     struct smbios_structure_header header;
     uint8_t manufacturer_str;
@@ -116,6 +116,7 @@  struct smbios_type_3 {
     uint8_t height;
     uint8_t number_of_power_cords;
     uint8_t contained_element_count;
+    uint8_t sku_number_str;
     /* contained elements follow */
 } QEMU_PACKED;