[SeaBIOS] [QEMU v5 PATCH 10/18] SMBIOS: Build full tables for type 32 and 127
Gabriel L. Somlo
gsomlo at gmail.com
Fri Apr 11 18:11:50 CEST 2014
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 <somlo at cmu.edu>
---
hw/i386/smbios.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c
index 6510ff3..b1f1d46 100644
--- a/hw/i386/smbios.c
+++ b/hw/i386/smbios.c
@@ -615,6 +615,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; \
@@ -754,6 +770,9 @@ uint8_t *smbios_get_table(size_t *length)
}
}
+ smbios_build_type_32_table();
+ smbios_build_type_127_table();
+
smbios_validate_table();
smbios_immutable = true;
}
--
1.9.0
More information about the SeaBIOS
mailing list