mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
qemu: assume various QEMU 0.10 features are always available
The -sdl and -net ...name=XXX arguments were both introduced in QEMU 0.10, so the QEMU driver can assume they are always available. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
72edc90a65
commit
4e8993a250
@ -1227,9 +1227,6 @@ virQEMUCapsComputeCmdFlags(const char *help,
|
||||
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);
|
||||
|
||||
@ -3165,7 +3162,6 @@ static qemuMonitorCallbacks callbacks = {
|
||||
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);
|
||||
|
@ -68,7 +68,7 @@ typedef enum {
|
||||
|
||||
/* 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 */
|
||||
@ -328,10 +328,6 @@ typedef enum {
|
||||
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;
|
||||
|
||||
|
@ -1164,17 +1164,14 @@ qemuAssignDeviceAliases(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8514,8 +8511,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
|
||||
{
|
||||
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;
|
||||
@ -8538,8 +8534,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg,
|
||||
/* 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;
|
||||
|
||||
@ -10551,11 +10546,6 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||
}
|
||||
}
|
||||
|
||||
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 "
|
||||
@ -12991,6 +12981,11 @@ qemuParseCommandLine(virCapsPtr qemuCaps,
|
||||
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();
|
||||
|
@ -908,12 +908,6 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
|
||||
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 ||
|
||||
@ -998,8 +992,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
|
||||
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;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -1,5 +1,4 @@
|
||||
<qemuCaps>
|
||||
<flag name='0.10'/>
|
||||
<flag name='mem-path'/>
|
||||
<flag name='drive-serial'/>
|
||||
<flag name='chardev'/>
|
||||
|
@ -154,7 +154,6 @@ mymain(void)
|
||||
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,
|
||||
@ -179,7 +178,6 @@ mymain(void)
|
||||
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,
|
||||
@ -229,7 +227,6 @@ mymain(void)
|
||||
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,
|
||||
@ -260,7 +257,6 @@ mymain(void)
|
||||
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,
|
||||
@ -320,7 +316,6 @@ mymain(void)
|
||||
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,
|
||||
@ -377,7 +372,6 @@ mymain(void)
|
||||
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,
|
||||
@ -441,7 +435,6 @@ mymain(void)
|
||||
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,
|
||||
@ -521,7 +514,6 @@ mymain(void)
|
||||
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,
|
||||
|
@ -72,7 +72,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
||||
|
||||
/* 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)
|
||||
|
@ -21,4 +21,5 @@ DISPLAY=:0.1 \
|
||||
-serial none \
|
||||
-parallel none \
|
||||
-full-screen \
|
||||
-sdl \
|
||||
-vga cirrus
|
||||
|
@ -20,4 +20,5 @@ DISPLAY=:0.1 \
|
||||
-net none \
|
||||
-serial none \
|
||||
-parallel none \
|
||||
-sdl \
|
||||
-vga std
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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,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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=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
|
||||
|
@ -910,8 +910,8 @@ mymain(void)
|
||||
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);
|
||||
@ -988,7 +988,7 @@ mymain(void)
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user