summaryrefslogtreecommitdiff
path: root/hw/i386/pc_piix.c
diff options
context:
space:
mode:
authorGabriel L. Somlo <gsomlo@gmail.com>2014-04-23 09:42:42 -0400
committerGerd Hoffmann <kraxel@redhat.com>2014-05-05 13:14:48 +0200
commitc97294ec1b9e36887e119589d456557d72ab37b5 (patch)
treed1d93b6d051070f8ae313cc6ce70d4e539465adf /hw/i386/pc_piix.c
parent2e6e8d7a25a6e31dee58226ea7fc374844d69732 (diff)
downloadqemu-c97294ec1b9e36887e119589d456557d72ab37b5.zip
SMBIOS: Build aggregate smbios tables and entry point
Build an aggregate set of smbios tables and an entry point structure. Insert tables and entry point into fw_cfg respectively under "etc/smbios/smbios-tables" and "etc/smbios/smbios-anchor". Machine types <= 2.0 will for now continue using field-by-field overrides to SeaBIOS defaults, but for machine types 2.1 and up we expect the BIOS to look for and use the aggregate tables generated by this patch. Signed-off-by: Gabriel Somlo <somlo@cmu.edu> [ kraxel: fix 32bit build ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/i386/pc_piix.c')
-rw-r--r--hw/i386/pc_piix.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index e4e176e4f3..ea72502420 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -61,6 +61,7 @@ static const int ide_irq[MAX_IDE_BUS] = { 14, 15 };
static bool has_pci_info;
static bool has_acpi_build = true;
static bool smbios_defaults = true;
+static bool smbios_legacy_mode;
/* Make sure that guest addresses aligned at 1Gbyte boundaries get mapped to
* host addresses aligned at 1Gbyte boundaries. This way we can use 1GByte
* pages in the host.
@@ -146,7 +147,7 @@ static void pc_init1(QEMUMachineInitArgs *args,
if (smbios_defaults) {
/* These values are guest ABI, do not change */
smbios_set_defaults("QEMU", "Standard PC (i440FX + PIIX, 1996)",
- args->machine->name);
+ args->machine->name, smbios_legacy_mode);
}
/* allocate ram and load rom/bios */
@@ -264,6 +265,7 @@ static void pc_init_pci(QEMUMachineInitArgs *args)
static void pc_compat_2_0(QEMUMachineInitArgs *args)
{
+ smbios_legacy_mode = true;
}
static void pc_compat_1_7(QEMUMachineInitArgs *args)