Message ID | 20170725153330.14966-6-cohuck@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 07/25/2017 05:33 PM, Cornelia Huck wrote: > Don't create the s390 pci host bridge if we do not provide the zpci > facility. > > Reviewed-by: Thomas Huth <thuth@redhat.com> > Signed-off-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > hw/s390x/s390-virtio-ccw.c | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 1c7af39ce6..8be4a541c1 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -118,7 +118,6 @@ static void ccw_init(MachineState *machine) > { > int ret; > VirtualCssBus *css_bus; > - DeviceState *dev; > > s390_sclp_init(); > s390_memory_init(machine->ram_size); > @@ -134,10 +133,13 @@ static void ccw_init(MachineState *machine) > machine->initrd_filename, "s390-ccw.img", > "s390-netboot.img", true); > > - dev = qdev_create(NULL, TYPE_S390_PCI_HOST_BRIDGE); > - object_property_add_child(qdev_get_machine(), TYPE_S390_PCI_HOST_BRIDGE, > - OBJECT(dev), NULL); > - qdev_init_nofail(dev); > + if (s390_has_feat(S390_FEAT_ZPCI)) { > + DeviceState *dev = qdev_create(NULL, TYPE_S390_PCI_HOST_BRIDGE); > + object_property_add_child(qdev_get_machine(), > + TYPE_S390_PCI_HOST_BRIDGE, > + OBJECT(dev), NULL); > + qdev_init_nofail(dev); > + } > > /* register hypercalls */ > virtio_ccw_register_hcalls(); >
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 1c7af39ce6..8be4a541c1 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -118,7 +118,6 @@ static void ccw_init(MachineState *machine) { int ret; VirtualCssBus *css_bus; - DeviceState *dev; s390_sclp_init(); s390_memory_init(machine->ram_size); @@ -134,10 +133,13 @@ static void ccw_init(MachineState *machine) machine->initrd_filename, "s390-ccw.img", "s390-netboot.img", true); - dev = qdev_create(NULL, TYPE_S390_PCI_HOST_BRIDGE); - object_property_add_child(qdev_get_machine(), TYPE_S390_PCI_HOST_BRIDGE, - OBJECT(dev), NULL); - qdev_init_nofail(dev); + if (s390_has_feat(S390_FEAT_ZPCI)) { + DeviceState *dev = qdev_create(NULL, TYPE_S390_PCI_HOST_BRIDGE); + object_property_add_child(qdev_get_machine(), + TYPE_S390_PCI_HOST_BRIDGE, + OBJECT(dev), NULL); + qdev_init_nofail(dev); + } /* register hypercalls */ virtio_ccw_register_hcalls();