diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2015-09-28 17:01:24 -0300 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2015-10-19 10:16:01 +0000 |
commit | dbb7405d8caad0814ceddd568cb49f163a847561 (patch) | |
tree | 0cb55ea7a876fe6b19c8253af30a9d34d350a626 /hw/i386 | |
parent | a88ae0d44b6b5830b752641b2198735272f13eaf (diff) | |
download | qemu-dbb7405d8caad0814ceddd568cb49f163a847561.tar.gz qemu-dbb7405d8caad0814ceddd568cb49f163a847561.tar.bz2 qemu-dbb7405d8caad0814ceddd568cb49f163a847561.zip |
xen-platform: Ensure xen is enabled when initializing
The xen-platform code crashes on reset if the xen backend is not
initialized, because it calls xc_hvm_set_mem_type(). Ensure xen-platform
won't be created without initializing the xen backend.
The assert can't be triggered by the user because the device is not
hotpluggable, and the only code creating it (at pc_xen_hvm_init())
already checks xen_enabled().
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Diffstat (limited to 'hw/i386')
-rw-r--r-- | hw/i386/xen/xen_platform.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c index ee45f038b8..8682c42e46 100644 --- a/hw/i386/xen/xen_platform.c +++ b/hw/i386/xen/xen_platform.c @@ -387,6 +387,9 @@ static int xen_platform_initfn(PCIDevice *dev) PCIXenPlatformState *d = XEN_PLATFORM(dev); uint8_t *pci_conf; + /* Device will crash on reset if xen is not initialized */ + assert(xen_enabled()); + pci_conf = dev->config; pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY); |