if (strstr(help, "-machine"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_OPT);
- if (version >= 10000)
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_0_10);
-
if (version >= 11000)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_SG_IO);
static void
virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
{
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_0_10);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_MEM_PATH);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_CHARDEV);
/* 15 */
X_QEMU_CAPS_VGA, /* Is -vga avail */
- QEMU_CAPS_0_10, /* features added in qemu-0.10.0 or later */
+ X_QEMU_CAPS_0_10, /* features added in qemu-0.10.0 or later */
QEMU_CAPS_PCIDEVICE, /* PCI device assignment supported */
QEMU_CAPS_MEM_PATH, /* mmap'ped guest backing supported */
QEMU_CAPS_DRIVE_SERIAL, /* -driver serial= available */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
-/* Aliases for some of the capabilities defined above */
-# define QEMU_CAPS_NET_NAME QEMU_CAPS_0_10 /* -net ...,name=str */
-# define QEMU_CAPS_HOST_NET_ADD QEMU_CAPS_0_10 /* host_net_add command */
-
typedef struct _virQEMUCaps virQEMUCaps;
typedef virQEMUCaps *virQEMUCapsPtr;
if (qemuAssignDeviceDiskAlias(def, def->disks[i], qemuCaps) < 0)
return -1;
}
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NET_NAME) ||
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
- for (i = 0; i < def->nnets; i++) {
- /* type='hostdev' interfaces are also on the hostdevs list,
- * and will have their alias assigned with other hostdevs.
- */
- if (virDomainNetGetActualType(def->nets[i])
- != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
- qemuAssignDeviceNetAlias(def, def->nets[i], i) < 0) {
- return -1;
- }
+ for (i = 0; i < def->nnets; i++) {
+ /* type='hostdev' interfaces are also on the hostdevs list,
+ * and will have their alias assigned with other hostdevs.
+ */
+ if (virDomainNetGetActualType(def->nets[i])
+ != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
+ qemuAssignDeviceNetAlias(def, def->nets[i], i) < 0) {
+ return -1;
}
}
{
switch ((virDomainGraphicsType) graphics->type) {
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_0_10) &&
- !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("sdl not supported by '%s'"), def->emulator);
return -1;
/* New QEMU has this flag to let us explicitly ask for
* SDL graphics. This is better than relying on the
* default, since the default changes :-( */
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SDL))
- virCommandAddArg(cmd, "-sdl");
+ virCommandAddArg(cmd, "-sdl");
break;
}
}
- if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_0_10) && sdl + vnc + spice > 1) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("only 1 graphics device is supported"));
- goto error;
- }
if (sdl > 1 || vnc > 1 || spice > 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("only 1 graphics device of each type "
virDomainGraphicsDefFree(vnc);
goto error;
}
+ } else if (STREQ(arg, "-sdl")) {
+ virDomainGraphicsDefPtr sdl;
+ if (VIR_ALLOC(sdl) < 0)
+ goto error;
+ sdl->type = VIR_DOMAIN_GRAPHICS_TYPE_SDL;
} else if (STREQ(arg, "-m")) {
int mem;
WANT_VALUE();
goto cleanup;
}
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_HOST_NET_ADD)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("installed qemu version does not support host_net_add"));
- goto cleanup;
- }
-
/* Currently nothing besides TAP devices supports multiqueue. */
if (net->driver.virtio.queues > 0 &&
!(actualType == VIR_DOMAIN_NET_TYPE_NETWORK ||
goto cleanup;
}
- if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NET_NAME) ||
- virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) {
+ if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE)) {
if (qemuAssignDeviceNetAlias(vm->def, net, -1) < 0)
goto cleanup;
}
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
<qemuCaps>
- <flag name='0.10'/>
<flag name='mem-path'/>
<flag name='drive-serial'/>
<flag name='chardev'/>
DO_TEST("qemu-0.12.1", 12001, 0, 0,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_ENABLE_KVM,
QEMU_CAPS_SDL,
QEMU_CAPS_CHARDEV,
QEMU_CAPS_KVM,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_PCIDEVICE,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_CHARDEV,
QEMU_CAPS_KVM,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_PCIDEVICE,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
QEMU_CAPS_KVM,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_PCIDEVICE,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
QEMU_CAPS_KVM,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_PCIDEVICE,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_CHARDEV,
QEMU_CAPS_KVM,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_PCIDEVICE,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_CHARDEV,
QEMU_CAPS_DRIVE_CACHE_UNSAFE,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
QEMU_CAPS_CHARDEV,
QEMU_CAPS_DRIVE_CACHE_UNSAFE,
QEMU_CAPS_DRIVE_SERIAL,
QEMU_CAPS_DRIVE_READONLY,
- QEMU_CAPS_0_10,
QEMU_CAPS_MEM_PATH,
QEMU_CAPS_SDL,
QEMU_CAPS_CHARDEV,
/* for attach & detach qemu must support -device */
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE);
- virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_NET_NAME);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE);
if (event)
-serial none \
-parallel none \
-full-screen \
+-sdl \
-vga cirrus
-net none \
-serial none \
-parallel none \
+-sdl \
-vga std
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
--net socket,connect=192.168.0.1:5558,vlan=0 \
+-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
+-net socket,connect=192.168.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
--net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0 \
+-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
+-net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
--net tap,script=/etc/qemu-ifup,vlan=0 \
+-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
+-net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
--net socket,mcast=192.0.0.1:5558,vlan=0 \
+-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
+-net socket,mcast=192.0.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
--net socket,listen=192.168.0.1:5558,vlan=0 \
+-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
+-net socket,listen=192.168.0.1:5558,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139 \
--net socket,udp=192.168.10.1:5555,localaddr=192.168.10.1:5556,vlan=0 \
+-net nic,macaddr=52:54:00:8c:b9:05,vlan=0,model=rtl8139,name=net0 \
+-net socket,udp=192.168.10.1:5555,localaddr=192.168.10.1:5556,vlan=0,\
+name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139 \
--net user,vlan=0 \
+-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
+-net user,vlan=0,name=hostnet0 \
-serial none \
-parallel none
-boot c \
-usb \
-drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=raw \
--net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio \
--net user,vlan=0 \
+-net nic,macaddr=00:11:22:33:44:55,vlan=0,model=virtio,name=net0 \
+-net user,vlan=0,name=hostnet0 \
-serial none \
-parallel none
VIR_FREE(driver.config->vncSASLdir);
VIR_FREE(driver.config->vncTLSx509certdir);
- DO_TEST("graphics-sdl", NONE);
- DO_TEST("graphics-sdl-fullscreen", NONE);
+ DO_TEST("graphics-sdl", QEMU_CAPS_SDL);
+ DO_TEST("graphics-sdl-fullscreen", QEMU_CAPS_SDL);
DO_TEST("nographics", NONE);
DO_TEST("nographics-vga",
QEMU_CAPS_VGA_NONE);
QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
DO_TEST("net-eth", NONE);
DO_TEST("net-eth-ifname", NONE);
- DO_TEST("net-eth-names", QEMU_CAPS_NET_NAME);
+ DO_TEST("net-eth-names", NONE);
DO_TEST("net-client", NONE);
DO_TEST("net-server", NONE);
DO_TEST("net-mcast", NONE);