Message ID | 1434488919-7615-1-git-send-email-agraf@suse.de |
---|---|
State | New |
Headers | show |
On 2015-06-16 23:08, Alexander Graf wrote: > We now finally have TCG support for the basic set of instructions necessary > to run the s390-ccw machine. That means in any aspect possible that machine > type is now superior to the legacy s390-virtio machine. > > Switch over to the ccw machine as default. That way people don't get a halfway > broken machine with the s390x target. > > Signed-off-by: Alexander Graf <agraf@suse.de> \o/ Very good idea! Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> That said in the future it would be even better if we can automagically pass bootindex=1 to the first created drive when not declaring the device and the drive separately. That would allow to run an image with just: qemu-system-s390x -nographic -drive file=image.qcow2 Aurelien
Am 16.06.2015 um 23:08 schrieb Alexander Graf: > We now finally have TCG support for the basic set of instructions necessary > to run the s390-ccw machine. That means in any aspect possible that machine > type is now superior to the legacy s390-virtio machine. > > Switch over to the ccw machine as default. That way people don't get a halfway > broken machine with the s390x target. > > Signed-off-by: Alexander Graf <agraf@suse.de> It will certainly make life easier for kvm on s390. Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > blockdev.c | 2 +- > hw/s390x/s390-virtio-ccw.c | 1 + > hw/s390x/s390-virtio.c | 1 - > qdev-monitor.c | 6 +++--- > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/blockdev.c b/blockdev.c > index 3aa1ae6..41d7e0f 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -942,7 +942,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) > devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0, > &error_abort); > if (arch_type == QEMU_ARCH_S390X) { > - qemu_opt_set(devopts, "driver", "virtio-blk-s390", &error_abort); > + qemu_opt_set(devopts, "driver", "virtio-blk-ccw", &error_abort); > } else { > qemu_opt_set(devopts, "driver", "virtio-blk-pci", &error_abort); > } > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 8a565f6..c574988 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -216,6 +216,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data) > mc->no_sdcard = 1; > mc->use_sclp = 1; > mc->max_cpus = 255; > + mc->is_default = 1; > nc->nmi_monitor_handler = s390_nmi; > } > > diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c > index 59750db..00ea793 100644 > --- a/hw/s390x/s390-virtio.c > +++ b/hw/s390x/s390-virtio.c > @@ -345,7 +345,6 @@ static void s390_machine_class_init(ObjectClass *oc, void *data) > mc->no_floppy = 1; > mc->no_cdrom = 1; > mc->no_sdcard = 1; > - mc->is_default = 1; > nc->nmi_monitor_handler = s390_nmi; > } > > diff --git a/qdev-monitor.c b/qdev-monitor.c > index 7dd62dd..d71d1ee 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -42,9 +42,9 @@ static const QDevAlias qdev_alias_table[] = { > { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X }, > { "virtio-balloon-pci", "virtio-balloon", > QEMU_ARCH_ALL & ~QEMU_ARCH_S390X }, > - { "virtio-blk-s390", "virtio-blk", QEMU_ARCH_S390X }, > - { "virtio-net-s390", "virtio-net", QEMU_ARCH_S390X }, > - { "virtio-serial-s390", "virtio-serial", QEMU_ARCH_S390X }, > + { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X }, > + { "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X }, > + { "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X }, > { "lsi53c895a", "lsi" }, > { "ich9-ahci", "ahci" }, > { "kvm-pci-assign", "pci-assign" }, >
On 2015-06-16 23:08, Alexander Graf wrote: > We now finally have TCG support for the basic set of instructions necessary > to run the s390-ccw machine. That means in any aspect possible that machine > type is now superior to the legacy s390-virtio machine. > > Switch over to the ccw machine as default. That way people don't get a halfway > broken machine with the s390x target. It seems the current s390x-ccw firmware doesn't allow to boot on a virtio-scsi-ccw disk (but this is not a regression compared to the s390-virtio machine). virtio-scsi has some advantages over virtio-blk, like the possibility to do thin-provisioning. Of course one can use a small virtio-blk for the /boot partition, and virtio-scsi for the remaining disks. Do you think it would possible to add it? Given a virtio-scsi device can provide multiple disks, how can we pass the disk to boot on to the firmware? Currently it seems we pass the ccw device in GR7, but not more details. Aurelien
Am 17.06.2015 um 15:46 schrieb Aurelien Jarno: > On 2015-06-16 23:08, Alexander Graf wrote: >> We now finally have TCG support for the basic set of instructions necessary >> to run the s390-ccw machine. That means in any aspect possible that machine >> type is now superior to the legacy s390-virtio machine. >> >> Switch over to the ccw machine as default. That way people don't get a halfway >> broken machine with the s390x target. > > It seems the current s390x-ccw firmware doesn't allow to boot on a > virtio-scsi-ccw disk (but this is not a regression compared to the > s390-virtio machine). virtio-scsi has some advantages over virtio-blk, > like the possibility to do thin-provisioning. Of course one can use a > small virtio-blk for the /boot partition, and virtio-scsi for the > remaining disks. > > Do you think it would possible to add it? Given a virtio-scsi device can > provide multiple disks, how can we pass the disk to boot on to the > firmware? Currently it seems we pass the ccw device in GR7, but not more > details. Yes, we look into that, Integrating this into s390 specifics without adding hacks that have to last forever will take most of the time. We have to consider aspects like loadparm, the existing interfaces for the zfcp connectivity in the diag308 handler and so on (so that /sys/firmware/ipl/ reflects the disks) - so give us some time to do it properly to see how this can be integrated. Christian
On 2015-06-17 16:00, Christian Borntraeger wrote: > Am 17.06.2015 um 15:46 schrieb Aurelien Jarno: > > On 2015-06-16 23:08, Alexander Graf wrote: > >> We now finally have TCG support for the basic set of instructions necessary > >> to run the s390-ccw machine. That means in any aspect possible that machine > >> type is now superior to the legacy s390-virtio machine. > >> > >> Switch over to the ccw machine as default. That way people don't get a halfway > >> broken machine with the s390x target. > > > > It seems the current s390x-ccw firmware doesn't allow to boot on a > > virtio-scsi-ccw disk (but this is not a regression compared to the > > s390-virtio machine). virtio-scsi has some advantages over virtio-blk, > > like the possibility to do thin-provisioning. Of course one can use a > > small virtio-blk for the /boot partition, and virtio-scsi for the > > remaining disks. > > > > Do you think it would possible to add it? Given a virtio-scsi device can > > provide multiple disks, how can we pass the disk to boot on to the > > firmware? Currently it seems we pass the ccw device in GR7, but not more > > details. > > Yes, we look into that, Integrating this into s390 specifics without adding > hacks that have to last forever will take most of the time. We have to > consider aspects like loadparm, the existing interfaces for the zfcp > connectivity in the diag308 handler and so on (so that /sys/firmware/ipl/ > reflects the disks) - so give us some time to do it properly to see > how this can be integrated. Great, thanks for working on that.
Am 16.06.2015 um 23:23 schrieb Aurelien Jarno: > On 2015-06-16 23:08, Alexander Graf wrote: >> We now finally have TCG support for the basic set of instructions necessary >> to run the s390-ccw machine. That means in any aspect possible that machine >> type is now superior to the legacy s390-virtio machine. >> >> Switch over to the ccw machine as default. That way people don't get a halfway >> broken machine with the s390x target. >> >> Signed-off-by: Alexander Graf <agraf@suse.de> > > \o/ Very good idea! > > Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> > > That said in the future it would be even better if we can automagically > pass bootindex=1 to the first created drive when not declaring the > device and the drive separately. That would allow to run an image with > just: This is actually a bug that was introduced with commit fa92e218df1d ("s390x/ipl: avoid sign extension") Will prepare a fix. Christian
diff --git a/blockdev.c b/blockdev.c index 3aa1ae6..41d7e0f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -942,7 +942,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type) devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0, &error_abort); if (arch_type == QEMU_ARCH_S390X) { - qemu_opt_set(devopts, "driver", "virtio-blk-s390", &error_abort); + qemu_opt_set(devopts, "driver", "virtio-blk-ccw", &error_abort); } else { qemu_opt_set(devopts, "driver", "virtio-blk-pci", &error_abort); } diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 8a565f6..c574988 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -216,6 +216,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data) mc->no_sdcard = 1; mc->use_sclp = 1; mc->max_cpus = 255; + mc->is_default = 1; nc->nmi_monitor_handler = s390_nmi; } diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c index 59750db..00ea793 100644 --- a/hw/s390x/s390-virtio.c +++ b/hw/s390x/s390-virtio.c @@ -345,7 +345,6 @@ static void s390_machine_class_init(ObjectClass *oc, void *data) mc->no_floppy = 1; mc->no_cdrom = 1; mc->no_sdcard = 1; - mc->is_default = 1; nc->nmi_monitor_handler = s390_nmi; } diff --git a/qdev-monitor.c b/qdev-monitor.c index 7dd62dd..d71d1ee 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -42,9 +42,9 @@ static const QDevAlias qdev_alias_table[] = { { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X }, { "virtio-balloon-pci", "virtio-balloon", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X }, - { "virtio-blk-s390", "virtio-blk", QEMU_ARCH_S390X }, - { "virtio-net-s390", "virtio-net", QEMU_ARCH_S390X }, - { "virtio-serial-s390", "virtio-serial", QEMU_ARCH_S390X }, + { "virtio-blk-ccw", "virtio-blk", QEMU_ARCH_S390X }, + { "virtio-net-ccw", "virtio-net", QEMU_ARCH_S390X }, + { "virtio-serial-ccw", "virtio-serial", QEMU_ARCH_S390X }, { "lsi53c895a", "lsi" }, { "ich9-ahci", "ahci" }, { "kvm-pci-assign", "pci-assign" },
We now finally have TCG support for the basic set of instructions necessary to run the s390-ccw machine. That means in any aspect possible that machine type is now superior to the legacy s390-virtio machine. Switch over to the ccw machine as default. That way people don't get a halfway broken machine with the s390x target. Signed-off-by: Alexander Graf <agraf@suse.de> --- blockdev.c | 2 +- hw/s390x/s390-virtio-ccw.c | 1 + hw/s390x/s390-virtio.c | 1 - qdev-monitor.c | 6 +++--- 4 files changed, 5 insertions(+), 5 deletions(-)