summaryrefslogtreecommitdiffstats
path: root/hw/isa
diff options
context:
space:
mode:
authorMarkus Armbruster2013-11-28 17:27:00 +0100
committerAndreas Färber2013-12-23 00:27:23 +0100
commit81aab2ff1118a4de8fd92ae89380ccfbc2870574 (patch)
treed1701f2f4b2615d234422abc9484c10b769ef67f /hw/isa
parentich9: Document why cannot_instantiate_with_device_add_yet (diff)
downloadqemu-81aab2ff1118a4de8fd92ae89380ccfbc2870574.tar.gz
qemu-81aab2ff1118a4de8fd92ae89380ccfbc2870574.tar.xz
qemu-81aab2ff1118a4de8fd92ae89380ccfbc2870574.zip
piix3 piix4: Clean up use of cannot_instantiate_with_device_add_yet
A PIIX3/PIIX4 southbridge has multiple functions. We model each function as a separate qdev. Two of them need some special wiring set up in pc_init1() or mips_malta_init() to work: the ISA bridge at 01.0, and the SMBus controller at 01.3. The IDE controller at 01.1 (piix3-ide, piix3-ide-xen, piix4-ide) has always had cannot_instantiate_with_device_add_yet set, but there is no obvious reason why device_add could not work for them. Drop it. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/isa')
-rw-r--r--hw/isa/piix4.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c
index d9dac6163c..def6fe3a0f 100644
--- a/hw/isa/piix4.c
+++ b/hw/isa/piix4.c
@@ -113,8 +113,12 @@ static void piix4_class_init(ObjectClass *klass, void *data)
k->device_id = PCI_DEVICE_ID_INTEL_82371AB_0;
k->class_id = PCI_CLASS_BRIDGE_ISA;
dc->desc = "ISA bridge";
- dc->cannot_instantiate_with_device_add_yet = true; /* FIXME explain why */
dc->vmsd = &vmstate_piix4;
+ /*
+ * Reason: part of PIIX4 southbridge, needs to be wired up,
+ * e.g. by mips_malta_init()
+ */
+ dc->cannot_instantiate_with_device_add_yet = true;
}
static const TypeInfo piix4_info = {