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(a)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 :|