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

Gabriel L. Somlo gsomlo at gmail.com
Mon Apr 14 22:55:09 CEST 2014


Signed-off-by: Gabriel Somlo <somlo at cmu.edu>
---
 hw/i386/smbios.c         | 8 +++++++-
 include/hw/i386/smbios.h | 3 ++-
 2 files changed, 9 insertions(+), 2 deletions(-)

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;
 
-- 
1.9.0




More information about the SeaBIOS mailing list