diff options
author | Marcel Apfelbaum <marcel@redhat.com> | 2016-06-27 18:38:33 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2016-07-04 14:50:01 +0300 |
commit | bf8d492405feaee2c1685b3b9d5e03228ed3e47f (patch) | |
tree | 213e31e23031a4955217ea1ee49ca58936d03b5d /hw/pci-host | |
parent | b86eacb804bdb92acc48cab8cd2a465714a829ab (diff) |
q35: allow dynamic sysbus
Allow adding sysbus devices with -device on Q35.
At first Q35 will support only intel-iommu to be added this way,
however the command line will support all sysbus devices.
Mark with 'cannot_instantiate_with_device_add_yet' the ones
causing immediate problems (e.g. crashes).
Signed-off-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci-host')
-rw-r--r-- | hw/pci-host/piix.c | 2 | ||||
-rw-r--r-- | hw/pci-host/q35.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c index df2b0e26f5..7167e58a12 100644 --- a/hw/pci-host/piix.c +++ b/hw/pci-host/piix.c @@ -865,6 +865,8 @@ static void i440fx_pcihost_class_init(ObjectClass *klass, void *data) dc->realize = i440fx_pcihost_realize; dc->fw_name = "pci"; dc->props = i440fx_props; + /* Reason: needs to be wired up by pc_init1 */ + dc->cannot_instantiate_with_device_add_yet = true; } static const TypeInfo i440fx_pcihost_info = { diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index 03be05dc0d..015003906a 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -142,6 +142,8 @@ static void q35_host_class_init(ObjectClass *klass, void *data) hc->root_bus_path = q35_host_root_bus_path; dc->realize = q35_host_realize; dc->props = mch_props; + /* Reason: needs to be wired up by pc_q35_init */ + dc->cannot_instantiate_with_device_add_yet = true; set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->fw_name = "pci"; } |