summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorey Minyard2016-05-24 19:37:18 +0200
committerMichael S. Tsirkin2016-06-07 14:36:54 +0200
commit6d42eefad8ead3dd8a1fc887efb9a017a35319fc (patch)
treee5b1a4740bbd43e5c65757575a1d954861c0e618
parentipmi: rework the fwinfo to be fetched from the interface (diff)
downloadqemu-6d42eefad8ead3dd8a1fc887efb9a017a35319fc.tar.gz
qemu-6d42eefad8ead3dd8a1fc887efb9a017a35319fc.tar.xz
qemu-6d42eefad8ead3dd8a1fc887efb9a017a35319fc.zip
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>
-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)