[libvirt] [PATCHv2 1/2] S390: Enable virtio-scsi and virtio-rng

Daniel P. Berrange berrange at redhat.com
Thu Mar 14 17:29:51 UTC 2013


On Thu, Mar 14, 2013 at 06:12:31PM +0100, Viktor Mihajlovski wrote:
> Newer versions of QEMU support virtio-scsi and virtio-rng devices
> on the virtio-s390 and ccw busses.
> 
> Since the virtio-capability is orthogonal to the implementing bus
> we add a generic virtio-scsi capability but do not touch the
> already existing virtio-scsi-pci capability for PCI based systems.
> 
> Adding capability detection, address assignment and command line
> generation for virtio-scsi and virtio-rng.
> 
> Signed-off-by: Viktor Mihajlovski <mihajlov at linux.vnet.ibm.com>
> ---
> V2 Changes
>  - Add virtio-scsi capability for non-PCI busses.
>  - Check for both capabilities in qemuSetScsiControllerModel
> 
>  src/qemu/qemu_capabilities.c |    7 ++++++-
>  src/qemu/qemu_capabilities.h |    1 +
>  src/qemu/qemu_command.c      |   32 ++++++++++++++++++++++++++------
>  3 files changed, 33 insertions(+), 7 deletions(-)
> 
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 79cfdb3..fff5de9 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -210,7 +210,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
>  
>                "rng-random", /* 130 */
>                "rng-egd",
> -              "virtio-ccw"
> +              "virtio-ccw",
> +              "virtio-scsi"
>      );
>  
>  struct _virQEMUCaps {
> @@ -1323,6 +1324,8 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
>      { "sclpconsole", QEMU_CAPS_SCLP_S390 },
>      { "lsi53c895a", QEMU_CAPS_SCSI_LSI },
>      { "virtio-scsi-pci", QEMU_CAPS_VIRTIO_SCSI_PCI },
> +    { "virtio-scsi-s390", QEMU_CAPS_VIRTIO_SCSI },
> +    { "virtio-scsi-ccw", QEMU_CAPS_VIRTIO_SCSI },
>      { "spicevmc", QEMU_CAPS_DEVICE_SPICEVMC },
>      { "qxl-vga", QEMU_CAPS_DEVICE_QXL_VGA },
>      { "qxl", QEMU_CAPS_DEVICE_QXL },
> @@ -1336,6 +1339,8 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
>      { "usb-serial", QEMU_CAPS_DEVICE_USB_SERIAL},
>      { "usb-net", QEMU_CAPS_DEVICE_USB_NET},
>      { "virtio-rng-pci", QEMU_CAPS_DEVICE_VIRTIO_RNG },
> +    { "virtio-rng-s390", QEMU_CAPS_DEVICE_VIRTIO_RNG },
> +    { "virtio-rng-ccw", QEMU_CAPS_DEVICE_VIRTIO_RNG },
>      { "rng-random", QEMU_CAPS_OBJECT_RNG_RANDOM },
>      { "rng-egd", QEMU_CAPS_OBJECT_RNG_EGD },
>  };
> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
> index 5c5dc5a..1ed060e 100644
> --- a/src/qemu/qemu_capabilities.h
> +++ b/src/qemu/qemu_capabilities.h
> @@ -172,6 +172,7 @@ enum virQEMUCapsFlags {
>                                             virtio rng */
>      QEMU_CAPS_OBJECT_RNG_EGD     = 131, /* EGD protocol daemon for rng */
>      QEMU_CAPS_VIRTIO_CCW         = 132, /* -device virtio-*-ccw */
> +    QEMU_CAPS_VIRTIO_SCSI        = 133, /* -device virtio-scsi-* (* != pci) */

Sorry, I think I should have been clearer before. I was only meaning to
reject the rename of the string. Renaming the exist enum symbol is fine,
as long as corresponding string is left unchanged. So no need for this
new enum entry.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list