qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [v3 PATCH 12/13] SMBIOS: Build full tables for type 32 and


From: Gabriel L. Somlo
Subject: [Qemu-devel] [v3 PATCH 12/13] SMBIOS: Build full tables for type 32 and 127
Date: Wed, 12 Mar 2014 12:40:11 -0400

From: "Gabriel L. Somlo" <address@hidden>

Build full smbios type 32 (system boot info) and 127 (end-of-table)
tables, and make them available via fw_cfg.

Signed-off-by: Gabriel Somlo <address@hidden>
---
 hw/i386/smbios.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 0f436b7..36b646f 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -575,6 +575,22 @@ static void smbios_build_type_20_table(unsigned instance,
     SMBIOS_BUILD_TABLE_POST;
 }
 
+static void smbios_build_type_32_table(void)
+{
+    SMBIOS_BUILD_TABLE_PRE(32, 0x2000, true); /* required */
+
+    memset(t->reserved, 0, 6);
+    t->boot_status = 0; /* No errors detected */
+
+    SMBIOS_BUILD_TABLE_POST;
+}
+
+static void smbios_build_type_127_table(void)
+{
+    SMBIOS_BUILD_TABLE_PRE(127, 0x7F00, true); /* required */
+    SMBIOS_BUILD_TABLE_POST;
+}
+
 #define SMBIOS_SET_DEFAULT(field, value)                                  \
     if (!field) {                                                         \
         field = value;                                                    \
@@ -657,6 +673,8 @@ uint8_t *smbios_get_table(size_t *length)
                 start_mb += size_mb;
             }
         }
+        smbios_build_type_32_table();
+        smbios_build_type_127_table();
         smbios_validate_table();
         smbios_immutable = true;
     }
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]