@@ -21,6 +21,7 @@
#include <sysemu.h>
#include "hw/loader.h"
#include "hw/s390-virtio-bus.h"
+#include "hw/s390x/virtio-ccw.h"
#include "hw/sysbus.h"
#include "hw/s390x/ipl.h"
#include "hw/s390x/ipl-disk.h"
@@ -435,6 +436,10 @@ static VirtIOBlkConf *getVirtIOBlkConf(DeviceState *dev, const char *id)
VirtIOS390Device *s390dev;
s390dev = DO_UPCAST(VirtIOS390Device, qdev, dev);
blk = &s390dev->blk;
+ } else if (strcmp(dev->parent_bus->name, "virtio-ccw") == 0) {
+ VirtioCcwData *ccwdev;
+ ccwdev = DO_UPCAST(VirtioCcwData, qdev, dev);
+ blk = &ccwdev->blk;
} else {
error_report("s390-ipl: device '%s' is not a virtio device",
id ? id : "0");
In case of virtio-ccw we also want to get a disk by its device id. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> --- hw/s390x/ipl-disk.c | 5 +++++ 1 file changed, 5 insertions(+)