summaryrefslogtreecommitdiff
path: root/hw
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
parent15139b8ef0ea3d9dd35965bdd5d4f564ffa6e9e1 (diff)
downloadqemu-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>
Diffstat (limited to 'hw')
-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)