aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2013-11-13 12:56:30 +0100
committerGerd Hoffmann <kraxel@redhat.com>2013-11-18 12:50:42 +0100
commite851a685ef9d6280982465b319971e4252859227 (patch)
tree0d8549972238990591ad22bf5f8e0e5b5e3cc2da /src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h
parent06262743c76102083287f5085380138164117bc7 (diff)
qemu: set smbios entries from fw_cfg
Qemu makes the guest uuid (qemu -uuid $uuid) available to the guest via fw_cfg. Other smbios fields can be configured in qemu using the -smbios command line switch (check the qemu manpage for details). This patch adds coreboot support for this, so the values provided by qemu will actually show up in the smbios table. Change-Id: Ifd9ae0d02749af4e7070a65eadbd1a9585a8a8e6 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-on: http://review.coreboot.org/4086 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi <patrick@georgi-clan.de> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h')
-rw-r--r--src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h b/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h
index 80e628032b..2d272450b0 100644
--- a/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h
+++ b/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h
@@ -38,6 +38,12 @@
#define FW_CFG_ARCH_LOCAL 0x8000
#define FW_CFG_ENTRY_MASK ~(FW_CFG_WRITE_CHANNEL | FW_CFG_ARCH_LOCAL)
+#define FW_CFG_ACPI_TABLES (FW_CFG_ARCH_LOCAL + 0)
+#define FW_CFG_SMBIOS_ENTRIES (FW_CFG_ARCH_LOCAL + 1)
+#define FW_CFG_IRQ0_OVERRIDE (FW_CFG_ARCH_LOCAL + 2)
+#define FW_CFG_E820_TABLE (FW_CFG_ARCH_LOCAL + 3)
+#define FW_CFG_HPET (FW_CFG_ARCH_LOCAL + 4)
+
#define FW_CFG_INVALID 0xffff
typedef struct FWCfgFile {
@@ -57,3 +63,14 @@ typedef struct FwCfgE820Entry {
uint64_t length;
uint32_t type;
} FwCfgE820Entry __attribute((__aligned__(4)));
+
+
+#define SMBIOS_FIELD_ENTRY 0
+#define SMBIOS_TABLE_ENTRY 1
+
+typedef struct FwCfgSmbios {
+ uint16_t length;
+ uint8_t headertype;
+ uint8_t tabletype;
+ uint16_t fieldoffset;
+} FwCfgSmbios;