summaryrefslogtreecommitdiff
path: root/hw/i386
diff options
context:
space:
mode:
authorCorey Minyard <cminyard@mvista.com>2016-05-24 12:37:18 -0500
committerMichael S. Tsirkin <mst@redhat.com>2016-06-07 15:36:54 +0300
commit6d42eefad8ead3dd8a1fc887efb9a017a35319fc (patch)
treee5b1a4740bbd43e5c65757575a1d954861c0e618 /hw/i386
parent15139b8ef0ea3d9dd35965bdd5d4f564ffa6e9e1 (diff)
downloadqemu-6d42eefad8ead3dd8a1fc887efb9a017a35319fc.tar.gz
pc: Postpone SMBIOS table installation to post machine init
This is the same place that the ACPI SSDT table gets added, so that devices can add themselves to the SMBIOS table. Signed-off-by: Corey Minyard <cminyard@mvista.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/i386')
-rw-r--r--hw/i386/pc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index e29ccc8341..92125a8cc8 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -765,8 +765,6 @@ static FWCfgState *bochs_bios_init(AddressSpace *as, PCMachineState *pcms)
acpi_tables, acpi_tables_len);
fw_cfg_add_i32(fw_cfg, FW_CFG_IRQ0_OVERRIDE, kvm_allows_irq0_override());
- pc_build_smbios(fw_cfg);
-
fw_cfg_add_bytes(fw_cfg, FW_CFG_E820_TABLE,
&e820_reserve, sizeof(e820_reserve));
fw_cfg_add_file(fw_cfg, "etc/e820", e820_table,
@@ -1182,6 +1180,9 @@ void pc_machine_done(Notifier *notifier, void *data)
}
acpi_setup();
+ if (pcms->fw_cfg) {
+ pc_build_smbios(pcms->fw_cfg);
+ }
}
void pc_guest_info_init(PCMachineState *pcms)