]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: New cap flags for scsi-generic
authorHan Cheng <hanc.fnst@cn.fujitsu.com>
Fri, 3 May 2013 18:07:21 +0000 (02:07 +0800)
committerOsier Yang <jyang@redhat.com>
Mon, 13 May 2013 10:30:26 +0000 (18:30 +0800)
Adding two cap flags for scsi-generic:
  QEMU_CAPS_SCSI_GENERIC
  QEMU_CAPS_SCSI_GENERIC_BOOTINDEX

Signed-off-by: Han Cheng <hanc.fnst@cn.fujitsu.com>
Signed-off-by: Osier Yang <jyang@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemuhelpdata/qemu-1.0-device
tests/qemuhelpdata/qemu-1.1.0-device
tests/qemuhelpdata/qemu-1.2.0-device
tests/qemuhelpdata/qemu-kvm-1.2.0-device
tests/qemuhelptest.c

index d2153793a10c607acfdaba91d9da7f64c89df30e..74ac43c40bd2c31229773d06ab64dca848841984 100644 (file)
@@ -221,9 +221,12 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
               "tpm-tis",
 
               "nvram",  /* 140 */
-              "pci-bridge", /* 141 */
-              "vfio-pci", /* 142 */
-              "vfio-pci.bootindex", /* 143 */
+              "pci-bridge",
+              "vfio-pci",
+              "vfio-pci.bootindex",
+              "scsi-generic",
+
+              "scsi-generic.bootindex", /* 145 */
     );
 
 struct _virQEMUCaps {
@@ -1344,8 +1347,8 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "VGA", QEMU_CAPS_DEVICE_VGA },
     { "cirrus-vga", QEMU_CAPS_DEVICE_CIRRUS_VGA },
     { "vmware-svga", QEMU_CAPS_DEVICE_VMWARE_SVGA },
-    { "usb-serial", QEMU_CAPS_DEVICE_USB_SERIAL},
-    { "usb-net", QEMU_CAPS_DEVICE_USB_NET},
+    { "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 },
@@ -1354,6 +1357,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "spapr-nvram", QEMU_CAPS_DEVICE_NVRAM },
     { "pci-bridge", QEMU_CAPS_DEVICE_PCI_BRIDGE },
     { "vfio-pci", QEMU_CAPS_DEVICE_VFIO_PCI },
+    { "scsi-generic", QEMU_CAPS_DEVICE_SCSI_GENERIC },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsVirtioBlk[] = {
@@ -1403,6 +1407,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUsbHost[] = {
     { "bootindex", QEMU_CAPS_USB_HOST_BOOTINDEX },
 };
 
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsScsiGeneric[] = {
+    { "bootindex", QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX },
+};
+
 struct virQEMUCapsObjectTypeProps {
     const char *type;
     struct virQEMUCapsStringFlags *props;
@@ -1438,6 +1446,8 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbRedir) },
     { "usb-host", virQEMUCapsObjectPropsUsbHost,
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbHost) },
+    { "scsi-generic", virQEMUCapsObjectPropsScsiGeneric,
+      ARRAY_CARDINALITY(virQEMUCapsObjectPropsScsiGeneric) },
 };
 
 
@@ -1635,6 +1645,7 @@ virQEMUCapsExtractDeviceStr(const char *qemu,
                          "-device", "usb-redir,?",
                          "-device", "ide-drive,?",
                          "-device", "usb-host,?",
+                         "-device", "scsi-generic,?",
                          NULL);
     /* qemu -help goes to stdout, but qemu -device ? goes to stderr.  */
     virCommandSetErrorBuffer(cmd, &output);
index 213f63c157785a0a1cad550dc062f3e5ec3d359a..a9eea4e4f9f45854ad3cd7a51f5b6c27d92f4f41 100644 (file)
@@ -182,6 +182,8 @@ enum virQEMUCapsFlags {
     QEMU_CAPS_DEVICE_PCI_BRIDGE  = 141, /* -device pci-bridge */
     QEMU_CAPS_DEVICE_VFIO_PCI    = 142, /* -device vfio-pci */
     QEMU_CAPS_VFIO_PCI_BOOTINDEX = 143, /* bootindex param for vfio-pci device */
+    QEMU_CAPS_DEVICE_SCSI_GENERIC = 144,  /* -device scsi-generic */
+    QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX = 145,  /* -device scsi-generic.bootindex */
 
     QEMU_CAPS_LAST,                   /* this must always be the last item */
 };
index 0bdfbbdf3cfe23cda0a285f6a0d894edccb6d6ea..d557f0e299eaf8cbfcc56f06e00f90a49a95a8f1 100644 (file)
@@ -136,3 +136,13 @@ virtio-net-pci.romfile=string
 virtio-net-pci.rombar=uint32
 virtio-net-pci.multifunction=on/off
 virtio-net-pci.command_serr_enable=on/off
+scsi-generic.drive=drive
+scsi-generic.logical_block_size=uint16
+scsi-generic.physical_block_size=uint16
+scsi-generic.min_io_size=uint16
+scsi-generic.opt_io_size=uint32
+scsi-generic.bootindex=int32
+scsi-generic.discard_granularity=uint32
+scsi-generic.channel=uint32
+scsi-generic.scsi-id=uint32
+scsi-generic.lun=uint32
index abbf850496cb34dc2968a5f9c2dcc5f106cb1d96..7313a34ba05a724f4899d356eb915f4cddfd8db8 100644 (file)
@@ -158,3 +158,13 @@ scsi-disk.dpofua=on/off
 scsi-disk.channel=uint32
 scsi-disk.scsi-id=uint32
 scsi-disk.lun=uint32
+scsi-generic.drive=drive
+scsi-generic.logical_block_size=blocksize
+scsi-generic.physical_block_size=blocksize
+scsi-generic.min_io_size=uint16
+scsi-generic.opt_io_size=uint32
+scsi-generic.bootindex=int32
+scsi-generic.discard_granularity=uint32
+scsi-generic.channel=uint32
+scsi-generic.scsi-id=uint32
+scsi-generic.lun=uint32
index 5613e00a154badcd62ff3b631b013281a9e42426..40845e4a8be7e263476222247b8e3001733b476e 100644 (file)
@@ -208,3 +208,8 @@ usb-host.bootindex=int32
 usb-host.pipeline=on/off
 usb-host.port=string
 usb-host.full-path=on/off
+scsi-generic.drive=drive
+scsi-generic.bootindex=int32
+scsi-generic.channel=uint32
+scsi-generic.scsi-id=uint32
+scsi-generic.lun=uint32
index 879a04959e50c3c1e18cfa8702ef19a1364acff7..09e3ef7f9b12473d2a9f48b03522f12df4bb42e5 100644 (file)
@@ -220,3 +220,8 @@ usb-host.bootindex=int32
 usb-host.pipeline=on/off
 usb-host.port=string
 usb-host.full-path=on/off
+scsi-generic.drive=drive
+scsi-generic.bootindex=int32
+scsi-generic.channel=uint32
+scsi-generic.scsi-id=uint32
+scsi-generic.lun=uint32
index fa56406f4650be907d688739aa2cbcfcad3229bf..f7f88d03b46b0bf26e1218c443e68823c4dd9e0c 100644 (file)
@@ -510,7 +510,8 @@ mymain(void)
             QEMU_CAPS_DEVICE_VMWARE_SVGA,
             QEMU_CAPS_DEVICE_USB_SERIAL,
             QEMU_CAPS_DEVICE_USB_NET,
-            QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC);
     DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -730,7 +731,9 @@ mymain(void)
             QEMU_CAPS_DEVICE_CIRRUS_VGA,
             QEMU_CAPS_DEVICE_VMWARE_SVGA,
             QEMU_CAPS_DEVICE_USB_SERIAL,
-            QEMU_CAPS_DEVICE_USB_NET);
+            QEMU_CAPS_DEVICE_USB_NET,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX);
     DO_TEST("qemu-1.1.0", 1001000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -822,7 +825,9 @@ mymain(void)
             QEMU_CAPS_DEVICE_USB_NET,
             QEMU_CAPS_DTB,
             QEMU_CAPS_IPV6_MIGRATION,
-            QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX);
     DO_TEST("qemu-1.2.0", 1002000, 0, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -926,7 +931,9 @@ mymain(void)
             QEMU_CAPS_DTB,
             QEMU_CAPS_SCSI_MEGASAS,
             QEMU_CAPS_IPV6_MIGRATION,
-            QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX);
     DO_TEST("qemu-kvm-1.2.0", 1002000, 1, 0,
             QEMU_CAPS_VNC_COLON,
             QEMU_CAPS_NO_REBOOT,
@@ -1035,7 +1042,9 @@ mymain(void)
             QEMU_CAPS_DTB,
             QEMU_CAPS_SCSI_MEGASAS,
             QEMU_CAPS_IPV6_MIGRATION,
-            QEMU_CAPS_DEVICE_PCI_BRIDGE);
+            QEMU_CAPS_DEVICE_PCI_BRIDGE,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC,
+            QEMU_CAPS_DEVICE_SCSI_GENERIC_BOOTINDEX);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }