提交 f7861003 编写于 作者: D Daniel P. Berrange

qemu: assume -drive argument is always available

As of QEMU 0.9.1 the -drive argument can be used to configure
all disks, so the QEMU driver can assume it is always available
and drop support for -hda/-cdrom/etc.

Many of the tests need updating because a great many were
running without CAPS_DRIVE set, so using the -hda legacy
syntax.

Fixing the tests uncovered a bug in the argv -> xml
convertor which failed to handle disk with if=floppy.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 18880578
...@@ -1088,6 +1088,7 @@ virQEMUCapsComputeCmdFlags(const char *help, ...@@ -1088,6 +1088,7 @@ virQEMUCapsComputeCmdFlags(const char *help,
{ {
const char *p; const char *p;
const char *fsdev, *netdev; const char *fsdev, *netdev;
const char *cache;
if (strstr(help, "-no-kvm")) if (strstr(help, "-no-kvm"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM); virQEMUCapsSet(qemuCaps, QEMU_CAPS_KVM);
...@@ -1104,29 +1105,27 @@ virQEMUCapsComputeCmdFlags(const char *help, ...@@ -1104,29 +1105,27 @@ virQEMUCapsComputeCmdFlags(const char *help,
virQEMUCapsSet(qemuCaps, QEMU_CAPS_XEN_DOMID); virQEMUCapsSet(qemuCaps, QEMU_CAPS_XEN_DOMID);
else if (strstr(help, "-domid")) else if (strstr(help, "-domid"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DOMID); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DOMID);
if (strstr(help, "-drive")) {
const char *cache = strstr(help, "cache="); cache = strstr(help, "cache=");
if (cache && (p = strchr(cache, ']'))) {
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE); if (memmem(cache, p - cache, "on|off", sizeof("on|off") - 1) == NULL)
if (cache && (p = strchr(cache, ']'))) { virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_V2);
if (memmem(cache, p - cache, "on|off", sizeof("on|off") - 1) == NULL) if (memmem(cache, p - cache, "directsync", sizeof("directsync") - 1))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_V2); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC);
if (memmem(cache, p - cache, "directsync", sizeof("directsync") - 1)) if (memmem(cache, p - cache, "unsafe", sizeof("unsafe") - 1))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE);
if (memmem(cache, p - cache, "unsafe", sizeof("unsafe") - 1)) }
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_UNSAFE); if (strstr(help, "format="))
} virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT);
if (strstr(help, "format=")) if (strstr(help, "readonly="))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY);
if (strstr(help, "readonly=")) if (strstr(help, "aio=threads|native"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_READONLY); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO);
if (strstr(help, "aio=threads|native")) if (strstr(help, "copy-on-read=on|off"))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_AIO); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ);
if (strstr(help, "copy-on-read=on|off")) if (strstr(help, "bps="))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ); virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE);
if (strstr(help, "bps="))
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE);
}
if ((p = strstr(help, "-vga")) && !strstr(help, "-std-vga")) { if ((p = strstr(help, "-vga")) && !strstr(help, "-std-vga")) {
const char *nl = strstr(p, "\n"); const char *nl = strstr(p, "\n");
...@@ -3214,7 +3213,6 @@ static qemuMonitorCallbacks callbacks = { ...@@ -3214,7 +3213,6 @@ static qemuMonitorCallbacks callbacks = {
static void static void
virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps) virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
{ {
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_NAME); virQEMUCapsSet(qemuCaps, QEMU_CAPS_NAME);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_UUID); virQEMUCapsSet(qemuCaps, QEMU_CAPS_UUID);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNET_HDR); virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNET_HDR);
...@@ -3933,8 +3931,7 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps, ...@@ -3933,8 +3931,7 @@ virQEMUCapsFillDomainLoaderCaps(virQEMUCapsPtr qemuCaps,
VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type, VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
VIR_DOMAIN_LOADER_TYPE_ROM); VIR_DOMAIN_LOADER_TYPE_ROM);
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) && if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT))
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT))
VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type, VIR_DOMAIN_CAPS_ENUM_SET(capsLoader->type,
VIR_DOMAIN_LOADER_TYPE_PFLASH); VIR_DOMAIN_LOADER_TYPE_PFLASH);
...@@ -4018,8 +4015,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr qemuCaps, ...@@ -4018,8 +4015,7 @@ virQEMUCapsFillDomainDeviceHostdevCaps(virQEMUCapsPtr qemuCaps,
VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType, VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType,
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB, VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB,
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI); VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI);
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) && if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC))
VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType, VIR_DOMAIN_CAPS_ENUM_SET(hostdev->subsysType,
VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI); VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI);
......
...@@ -49,7 +49,7 @@ typedef enum { ...@@ -49,7 +49,7 @@ typedef enum {
X_QEMU_CAPS_KQEMU, /* Whether KQEMU is compiled in */ X_QEMU_CAPS_KQEMU, /* Whether KQEMU is compiled in */
X_QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */ X_QEMU_CAPS_VNC_COLON, /* VNC takes or address + display */
X_QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */ X_QEMU_CAPS_NO_REBOOT, /* Is the -no-reboot flag available */
QEMU_CAPS_DRIVE, /* Is the new -drive arg available */ X_QEMU_CAPS_DRIVE, /* Is the new -drive arg available */
QEMU_CAPS_DRIVE_BOOT, /* Does -drive support boot=on */ QEMU_CAPS_DRIVE_BOOT, /* Does -drive support boot=on */
/* 5 */ /* 5 */
......
...@@ -777,20 +777,6 @@ int qemuDomainNetVLAN(virDomainNetDefPtr def) ...@@ -777,20 +777,6 @@ int qemuDomainNetVLAN(virDomainNetDefPtr def)
} }
/* Names used before -drive existed */
static int qemuAssignDeviceDiskAliasLegacy(virDomainDiskDefPtr disk)
{
char *dev_name;
if (VIR_STRDUP(dev_name,
disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM &&
STREQ(disk->dst, "hdc") ? "cdrom" : disk->dst) < 0)
return -1;
disk->info.alias = dev_name;
return 0;
}
char *qemuDeviceDriveHostAlias(virDomainDiskDefPtr disk, char *qemuDeviceDriveHostAlias(virDomainDiskDefPtr disk,
virQEMUCapsPtr qemuCaps) virQEMUCapsPtr qemuCaps)
{ {
...@@ -970,14 +956,10 @@ qemuAssignDeviceDiskAlias(virDomainDefPtr vmdef, ...@@ -970,14 +956,10 @@ qemuAssignDeviceDiskAlias(virDomainDefPtr vmdef,
virDomainDiskDefPtr def, virDomainDiskDefPtr def,
virQEMUCapsPtr qemuCaps) virQEMUCapsPtr qemuCaps)
{ {
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) { if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE))
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) return qemuAssignDeviceDiskAliasCustom(vmdef, def, qemuCaps);
return qemuAssignDeviceDiskAliasCustom(vmdef, def, qemuCaps); else
else return qemuAssignDeviceDiskAliasFixed(def);
return qemuAssignDeviceDiskAliasFixed(def);
} else {
return qemuAssignDeviceDiskAliasLegacy(def);
}
} }
...@@ -9087,11 +9069,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd, ...@@ -9087,11 +9069,6 @@ qemuBuildDomainLoaderCommandLine(virCommandPtr cmd,
break; break;
case VIR_DOMAIN_LOADER_TYPE_PFLASH: case VIR_DOMAIN_LOADER_TYPE_PFLASH:
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("this QEMU binary doesn't support -drive"));
goto cleanup;
}
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT)) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_FORMAT)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("this QEMU binary doesn't support passing " _("this QEMU binary doesn't support passing "
...@@ -9270,6 +9247,7 @@ qemuBuildCommandLine(virConnectPtr conn, ...@@ -9270,6 +9247,7 @@ qemuBuildCommandLine(virConnectPtr conn,
char *boot_order_str = NULL, *boot_opts_str = NULL; char *boot_order_str = NULL, *boot_opts_str = NULL;
virBuffer fdc_opts = VIR_BUFFER_INITIALIZER; virBuffer fdc_opts = VIR_BUFFER_INITIALIZER;
char *fdc_opts_str = NULL; char *fdc_opts_str = NULL;
int bootCD = 0, bootFloppy = 0, bootDisk = 0;
VIR_DEBUG("conn=%p driver=%p def=%p mon=%p json=%d " VIR_DEBUG("conn=%p driver=%p def=%p mon=%p json=%d "
"qemuCaps=%p migrateFrom=%s migrateFD=%d " "qemuCaps=%p migrateFrom=%s migrateFD=%d "
...@@ -10084,111 +10062,122 @@ qemuBuildCommandLine(virConnectPtr conn, ...@@ -10084,111 +10062,122 @@ qemuBuildCommandLine(virConnectPtr conn,
VIR_FREE(optstr); VIR_FREE(optstr);
} }
/* If QEMU supports -drive param instead of old -hda, -hdb, -cdrom .. */ if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) {
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE)) { /* bootDevs will get translated into either bootindex=N or boot=on
int bootCD = 0, bootFloppy = 0, bootDisk = 0; * depending on what qemu supports */
for (i = 0; i < def->os.nBootDevs; i++) {
if ((virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) || emitBootindex)) { switch (def->os.bootDevs[i]) {
/* bootDevs will get translated into either bootindex=N or boot=on case VIR_DOMAIN_BOOT_CDROM:
* depending on what qemu supports */ bootCD = i + 1;
for (i = 0; i < def->os.nBootDevs; i++) { break;
switch (def->os.bootDevs[i]) { case VIR_DOMAIN_BOOT_FLOPPY:
case VIR_DOMAIN_BOOT_CDROM: bootFloppy = i + 1;
bootCD = i + 1; break;
break; case VIR_DOMAIN_BOOT_DISK:
case VIR_DOMAIN_BOOT_FLOPPY: bootDisk = i + 1;
bootFloppy = i + 1; break;
break;
case VIR_DOMAIN_BOOT_DISK:
bootDisk = i + 1;
break;
}
} }
} }
}
for (i = 0; i < def->ndisks; i++) { for (i = 0; i < def->ndisks; i++) {
char *optstr; char *optstr;
int bootindex = 0; int bootindex = 0;
virDomainDiskDefPtr disk = def->disks[i]; virDomainDiskDefPtr disk = def->disks[i];
bool withDeviceArg = false; bool withDeviceArg = false;
bool deviceFlagMasked = false; bool deviceFlagMasked = false;
/* Unless we have -device, then USB disks need special /* Unless we have -device, then USB disks need special
handling */ handling */
if ((disk->bus == VIR_DOMAIN_DISK_BUS_USB) && if ((disk->bus == VIR_DOMAIN_DISK_BUS_USB) &&
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) { if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
virCommandAddArg(cmd, "-usbdevice"); virCommandAddArg(cmd, "-usbdevice");
virCommandAddArgFormat(cmd, "disk:%s", disk->src->path); virCommandAddArgFormat(cmd, "disk:%s", disk->src->path);
} else { } else {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported usb disk type for '%s'"), _("unsupported usb disk type for '%s'"),
disk->src->path); disk->src->path);
goto error;
}
continue;
}
/* PowerPC pseries based VMs do not support floppy device */
if ((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
ARCH_IS_PPC64(def->os.arch) && STRPREFIX(def->os.machine, "pseries")) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("PowerPC pseries machines do not support floppy device"));
goto error; goto error;
} }
continue;
}
switch (disk->device) { /* PowerPC pseries based VMs do not support floppy device */
case VIR_DOMAIN_DISK_DEVICE_CDROM: if ((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
bootindex = bootCD; ARCH_IS_PPC64(def->os.arch) && STRPREFIX(def->os.machine, "pseries")) {
bootCD = 0; virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
break; _("PowerPC pseries machines do not support floppy device"));
case VIR_DOMAIN_DISK_DEVICE_FLOPPY: goto error;
bootindex = bootFloppy; }
bootFloppy = 0;
break; switch (disk->device) {
case VIR_DOMAIN_DISK_DEVICE_DISK: case VIR_DOMAIN_DISK_DEVICE_CDROM:
case VIR_DOMAIN_DISK_DEVICE_LUN: bootindex = bootCD;
bootindex = bootDisk; bootCD = 0;
bootDisk = 0; break;
break; case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
bootindex = bootFloppy;
bootFloppy = 0;
break;
case VIR_DOMAIN_DISK_DEVICE_DISK:
case VIR_DOMAIN_DISK_DEVICE_LUN:
bootindex = bootDisk;
bootDisk = 0;
break;
}
virCommandAddArg(cmd, "-drive");
/* Unfortunately it is not possible to use
-device for floppies, xen PV, or SD
devices. Fortunately, those don't need
static PCI addresses, so we don't really
care that we can't use -device */
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
if (disk->bus != VIR_DOMAIN_DISK_BUS_XEN &&
disk->bus != VIR_DOMAIN_DISK_BUS_SD) {
withDeviceArg = true;
} else {
virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE);
deviceFlagMasked = true;
} }
}
optstr = qemuBuildDriveStr(conn, disk,
emitBootindex ? false : !!bootindex,
qemuCaps);
if (deviceFlagMasked)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE);
if (!optstr)
goto error;
virCommandAddArg(cmd, optstr);
VIR_FREE(optstr);
virCommandAddArg(cmd, "-drive"); if (!emitBootindex)
bootindex = 0;
else if (disk->info.bootIndex)
bootindex = disk->info.bootIndex;
/* Unfortunately it is not possible to use if (withDeviceArg) {
-device for floppies, xen PV, or SD if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) {
devices. Fortunately, those don't need if (virAsprintf(&optstr, "drive%c=drive-%s",
static PCI addresses, so we don't really disk->info.addr.drive.unit ? 'B' : 'A',
care that we can't use -device */ disk->info.alias) < 0)
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { goto error;
if (disk->bus != VIR_DOMAIN_DISK_BUS_XEN &&
disk->bus != VIR_DOMAIN_DISK_BUS_SD) { if (!qemuDomainMachineNeedsFDC(def)) {
withDeviceArg = true; virCommandAddArg(cmd, "-global");
virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr);
} else { } else {
virQEMUCapsClear(qemuCaps, QEMU_CAPS_DEVICE); virBufferAsprintf(&fdc_opts, "%s,", optstr);
deviceFlagMasked = true;
} }
} VIR_FREE(optstr);
optstr = qemuBuildDriveStr(conn, disk,
emitBootindex ? false : !!bootindex,
qemuCaps);
if (deviceFlagMasked)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE);
if (!optstr)
goto error;
virCommandAddArg(cmd, optstr);
VIR_FREE(optstr);
if (!emitBootindex)
bootindex = 0;
else if (disk->info.bootIndex)
bootindex = disk->info.bootIndex;
if (withDeviceArg) { if (bootindex) {
if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) { if (virAsprintf(&optstr, "bootindex%c=%d",
if (virAsprintf(&optstr, "drive%c=drive-%s", disk->info.addr.drive.unit
disk->info.addr.drive.unit ? 'B' : 'A', ? 'B' : 'A',
disk->info.alias) < 0) bootindex) < 0)
goto error; goto error;
if (!qemuDomainMachineNeedsFDC(def)) { if (!qemuDomainMachineNeedsFDC(def)) {
...@@ -10198,126 +10187,25 @@ qemuBuildCommandLine(virConnectPtr conn, ...@@ -10198,126 +10187,25 @@ qemuBuildCommandLine(virConnectPtr conn,
virBufferAsprintf(&fdc_opts, "%s,", optstr); virBufferAsprintf(&fdc_opts, "%s,", optstr);
} }
VIR_FREE(optstr); VIR_FREE(optstr);
if (bootindex) {
if (virAsprintf(&optstr, "bootindex%c=%d",
disk->info.addr.drive.unit
? 'B' : 'A',
bootindex) < 0)
goto error;
if (!qemuDomainMachineNeedsFDC(def)) {
virCommandAddArg(cmd, "-global");
virCommandAddArgFormat(cmd, "isa-fdc.%s", optstr);
} else {
virBufferAsprintf(&fdc_opts, "%s,", optstr);
}
VIR_FREE(optstr);
}
} else {
virCommandAddArg(cmd, "-device");
if (!(optstr = qemuBuildDriveDevStr(def, disk, bootindex,
qemuCaps)))
goto error;
virCommandAddArg(cmd, optstr);
VIR_FREE(optstr);
}
}
}
/* Newer Q35 machine types require an explicit FDC controller */
virBufferTrim(&fdc_opts, ",", -1);
if ((fdc_opts_str = virBufferContentAndReset(&fdc_opts))) {
virCommandAddArg(cmd, "-device");
virCommandAddArgFormat(cmd, "isa-fdc,%s", fdc_opts_str);
VIR_FREE(fdc_opts_str);
}
} else {
for (i = 0; i < def->ndisks; i++) {
char dev[NAME_MAX];
char *file;
const char *fmt;
virDomainDiskDefPtr disk = def->disks[i];
if ((disk->src->type == VIR_STORAGE_TYPE_BLOCK) &&
(disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("tray status 'open' is invalid for "
"block type disk"));
goto error;
}
if (disk->bus == VIR_DOMAIN_DISK_BUS_USB) {
if (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK) {
virCommandAddArg(cmd, "-usbdevice");
virCommandAddArgFormat(cmd, "disk:%s", disk->src->path);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported usb disk type for '%s'"),
disk->src->path);
goto error;
}
continue;
}
if (STREQ(disk->dst, "hdc") &&
disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
if (disk->src->path) {
snprintf(dev, NAME_MAX, "-%s", "cdrom");
} else {
continue;
} }
} else { } else {
if (STRPREFIX(disk->dst, "hd") || virCommandAddArg(cmd, "-device");
STRPREFIX(disk->dst, "fd")) {
snprintf(dev, NAME_MAX, "-%s", disk->dst);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported disk type '%s'"), disk->dst);
goto error;
}
}
if (disk->src->type == VIR_STORAGE_TYPE_DIR) {
/* QEMU only supports magic FAT format for now */
if (disk->src->format > 0 &&
disk->src->format != VIR_STORAGE_FILE_FAT) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("unsupported disk driver type for '%s'"),
virStorageFileFormatTypeToString(disk->src->format));
goto error;
}
if (!disk->src->readonly) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("cannot create virtual FAT disks in read-write mode"));
goto error;
}
if (disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY)
fmt = "fat:floppy:%s";
else
fmt = "fat:%s";
if (virAsprintf(&file, fmt, disk->src) < 0) if (!(optstr = qemuBuildDriveDevStr(def, disk, bootindex,
goto error; qemuCaps)))
} else if (disk->src->type == VIR_STORAGE_TYPE_NETWORK) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("network disks are only supported with -drive"));
goto error;
} else {
if (VIR_STRDUP(file, disk->src->path) < 0)
goto error; goto error;
virCommandAddArg(cmd, optstr);
VIR_FREE(optstr);
} }
/* Don't start with source if the tray is open for
* CDROM and Floppy device.
*/
if (!((disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY ||
disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) &&
disk->tray_status == VIR_DOMAIN_DISK_TRAY_OPEN))
virCommandAddArgList(cmd, dev, file, NULL);
VIR_FREE(file);
} }
} }
/* Newer Q35 machine types require an explicit FDC controller */
virBufferTrim(&fdc_opts, ",", -1);
if ((fdc_opts_str = virBufferContentAndReset(&fdc_opts))) {
virCommandAddArg(cmd, "-device");
virCommandAddArgFormat(cmd, "isa-fdc,%s", fdc_opts_str);
VIR_FREE(fdc_opts_str);
}
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV)) { if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_FSDEV)) {
for (i = 0; i < def->nfss; i++) { for (i = 0; i < def->nfss; i++) {
...@@ -11170,8 +11058,7 @@ qemuBuildCommandLine(virConnectPtr conn, ...@@ -11170,8 +11058,7 @@ qemuBuildCommandLine(virConnectPtr conn,
/* SCSI */ /* SCSI */
if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) { hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) {
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE) && if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) {
char *drvstr; char *drvstr;
......
...@@ -1967,8 +1967,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, ...@@ -1967,8 +1967,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
bool teardowncgroup = false; bool teardowncgroup = false;
bool teardownlabel = false; bool teardownlabel = false;
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE) || if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) ||
!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE) ||
!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) { !virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_SCSI_GENERIC)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("SCSI passthrough is not supported by this version of qemu")); _("SCSI passthrough is not supported by this version of qemu"));
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
<qemuCaps> <qemuCaps>
<flag name='drive'/>
<flag name='name'/> <flag name='name'/>
<flag name='uuid'/> <flag name='uuid'/>
<flag name='vnet-hdr'/> <flag name='vnet-hdr'/>
......
...@@ -152,7 +152,6 @@ mymain(void) ...@@ -152,7 +152,6 @@ mymain(void)
DO_TEST_FULL(name, version, is_kvm, kvm_version, VIR_ERR_OK, __VA_ARGS__) DO_TEST_FULL(name, version, is_kvm, kvm_version, VIR_ERR_OK, __VA_ARGS__)
DO_TEST("qemu-0.12.1", 12001, 0, 0, DO_TEST("qemu-0.12.1", 12001, 0, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
QEMU_CAPS_MIGRATE_QEMU_TCP, QEMU_CAPS_MIGRATE_QEMU_TCP,
...@@ -186,7 +185,6 @@ mymain(void) ...@@ -186,7 +185,6 @@ mymain(void)
QEMU_CAPS_CPU_HOST, QEMU_CAPS_CPU_HOST,
QEMU_CAPS_VNC); QEMU_CAPS_VNC);
DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0, DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_BOOT,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
...@@ -247,7 +245,6 @@ mymain(void) ...@@ -247,7 +245,6 @@ mymain(void)
QEMU_CAPS_DEVICE_E1000, QEMU_CAPS_DEVICE_E1000,
QEMU_CAPS_DEVICE_VIRTIO_NET); QEMU_CAPS_DEVICE_VIRTIO_NET);
DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0, DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_BOOT,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
...@@ -288,7 +285,6 @@ mymain(void) ...@@ -288,7 +285,6 @@ mymain(void)
QEMU_CAPS_CPU_HOST, QEMU_CAPS_CPU_HOST,
QEMU_CAPS_VNC); QEMU_CAPS_VNC);
DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0, DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_DRIVE_BOOT, QEMU_CAPS_DRIVE_BOOT,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
...@@ -361,7 +357,6 @@ mymain(void) ...@@ -361,7 +357,6 @@ mymain(void)
QEMU_CAPS_DEVICE_E1000, QEMU_CAPS_DEVICE_E1000,
QEMU_CAPS_DEVICE_VIRTIO_NET); QEMU_CAPS_DEVICE_VIRTIO_NET);
DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0, DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
QEMU_CAPS_VNET_HDR, QEMU_CAPS_VNET_HDR,
...@@ -429,7 +424,6 @@ mymain(void) ...@@ -429,7 +424,6 @@ mymain(void)
QEMU_CAPS_DEVICE_E1000, QEMU_CAPS_DEVICE_E1000,
QEMU_CAPS_DEVICE_VIRTIO_NET); QEMU_CAPS_DEVICE_VIRTIO_NET);
DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0, DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
QEMU_CAPS_VNET_HDR, QEMU_CAPS_VNET_HDR,
...@@ -505,7 +499,6 @@ mymain(void) ...@@ -505,7 +499,6 @@ mymain(void)
QEMU_CAPS_DEVICE_E1000, QEMU_CAPS_DEVICE_E1000,
QEMU_CAPS_DEVICE_VIRTIO_NET); QEMU_CAPS_DEVICE_VIRTIO_NET);
DO_TEST("qemu-1.0", 1000000, 0, 0, DO_TEST("qemu-1.0", 1000000, 0, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
QEMU_CAPS_MIGRATE_QEMU_TCP, QEMU_CAPS_MIGRATE_QEMU_TCP,
...@@ -596,7 +589,6 @@ mymain(void) ...@@ -596,7 +589,6 @@ mymain(void)
QEMU_CAPS_DEVICE_E1000, QEMU_CAPS_DEVICE_E1000,
QEMU_CAPS_DEVICE_VIRTIO_NET); QEMU_CAPS_DEVICE_VIRTIO_NET);
DO_TEST("qemu-1.1.0", 1001000, 0, 0, DO_TEST("qemu-1.1.0", 1001000, 0, 0,
QEMU_CAPS_DRIVE,
QEMU_CAPS_NAME, QEMU_CAPS_NAME,
QEMU_CAPS_UUID, QEMU_CAPS_UUID,
QEMU_CAPS_MIGRATE_QEMU_TCP, QEMU_CAPS_MIGRATE_QEMU_TCP,
......
...@@ -71,7 +71,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt, ...@@ -71,7 +71,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
goto cleanup; goto cleanup;
/* for attach & detach qemu must support -device */ /* for attach & detach qemu must support -device */
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DRIVE);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_NET_NAME); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_NET_NAME);
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_VIRTIO_SCSI);
......
...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,5 +16,6 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x12
...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-serial pty \ -serial pty \
-device usb-tablet,id=input0 \ -device usb-tablet,id=input0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot d \ -boot d \
-usb \ -usb \
-cdrom /dev/cdrom \ -drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot a \ -boot a \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-fda /tmp/firmware.img \ -drive file=/tmp/firmware.img,if=floppy,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot order=d,menu=off \ -boot order=d,menu=off \
-usb \ -usb \
-cdrom /dev/cdrom \ -drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot order=dcna,menu=on \ -boot order=dcna,menu=on \
-usb \ -usb \
-cdrom /dev/cdrom \ -drive file=/dev/cdrom,if=ide,media=cdrom,bus=1,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot n \ -boot n \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pipe,id=charchannel0,path=/tmp/guestfwd \ -chardev pipe,id=charchannel0,path=/tmp/guestfwd \
-netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=user-channel0 \ -netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=user-channel0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device spicevmc,bus=virtio-serial1.0,nr=3,id=channel0 \ -device spicevmc,bus=virtio-serial1.0,nr=3,id=channel0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=main \ tls-channel=main \
......
...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev spicevmc,id=charchannel0,name=vdagent \ -chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
id=channel0,name=com.redhat.spice.0 \ id=channel0,name=com.redhat.spice.0 \
......
...@@ -21,7 +21,8 @@ addr=0x3 \ ...@@ -21,7 +21,8 @@ addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial2,bus=pci.0,addr=0x4 \ -device virtio-serial-pci,id=virtio-serial2,bus=pci.0,addr=0x4 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
id=channel0,name=org.linux-kvm.port.0 \ id=channel0,name=org.linux-kvm.port.0 \
......
...@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \
addr=0x3 \ addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x4 \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0x4 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
id=channel0,name=org.linux-kvm.port.0 \ id=channel0,name=org.linux-kvm.port.0 \
......
...@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -20,7 +20,8 @@ QEMU_AUDIO_DRV=none \
addr=0x3 \ addr=0x3 \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel0,\
id=channel0,name=org.linux-kvm.port.0 \ id=channel0,name=org.linux-kvm.port.0 \
......
...@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
id=channel0 \ id=channel0 \
......
...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
id=channel0,name=org.linux-kvm.port.foo \ id=channel0,name=org.linux-kvm.port.foo \
......
...@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -19,7 +19,8 @@ QEMU_AUDIO_DRV=none \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev socket,id=charchannel0,\ -chardev socket,id=charchannel0,\
path=/tmp/domain-QEMUGuest1/org.qemu.guest_agent.0,server,nowait \ path=/tmp/domain-QEMUGuest1/org.qemu.guest_agent.0,server,nowait \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,\
......
...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charchannel0 \ -chardev pty,id=charchannel0 \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
id=channel0,name=org.linux-kvm.port.foo \ id=channel0,name=org.linux-kvm.port.foo \
......
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,7 @@ TZ=Europe/Paris \ ...@@ -16,7 +16,7 @@ TZ=Europe/Paris \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -17,7 +17,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -10,11 +10,11 @@ QEMU_AUDIO_DRV=none \ ...@@ -10,11 +10,11 @@ QEMU_AUDIO_DRV=none \
-m 214 \ -m 214 \
-smp 1 \ -smp 1 \
-nographic \ -nographic \
-nodefconfig \
-nodefaults \
-monitor unix:/tmp/test-monitor,server,nowait \ -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -net none \
-serial none \
-parallel none
...@@ -23,6 +23,6 @@ ...@@ -23,6 +23,6 @@
<controller type='usb' index='0'/> <controller type='usb' index='0'/>
<controller type='ide' index='0'/> <controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/> <controller type='pci' index='0' model='pci-root'/>
<memballoon model='virtio'/> <memballoon model='none'/>
</devices> </devices>
</domain> </domain>
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial pty \ -serial pty \
-parallel none -parallel none
...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -17,7 +17,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \ -chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \ -device isa-serial,chardev=charserial0,id=serial0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial pty \ -serial pty \
-parallel none -parallel none
...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charserial0 \ -chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \ -device isa-serial,chardev=charserial0,id=serial0 \
-chardev pty,id=charconsole1 \ -chardev pty,id=charconsole1 \
......
...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -18,7 +18,8 @@ QEMU_AUDIO_DRV=none \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev pty,id=charconsole0 \ -chardev pty,id=charconsole0 \
-device virtconsole,chardev=charconsole0,id=console0 \ -device virtconsole,chardev=charconsole0,id=console0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-drive if=ide,media=cdrom,bus=1,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,8 +14,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-cdrom /root/boot.iso \ -drive file=/root/boot.iso,if=ide,media=cdrom,bus=1,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-fda /dev/fd0 \ -drive file=/dev/fd0,if=floppy,unit=0 \
-drive if=floppy,unit=1 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,9 +14,9 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,9 +14,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-fda /dev/fd0 \ -drive file=/dev/fd0,if=floppy,unit=0 \
-fdb /tmp/firmware.img \ -drive file=/tmp/firmware.img,if=floppy,unit=1 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,8 +14,9 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/disk/by-path/ip-192.168.44.1:3260-iscsi-iqn.2011-02.lan.hdserver:\ -drive file=/dev/disk/by-path/ip-192.168.44.1:\
hydrar-desktop.win7vm-lun-0 \ 3260-iscsi-iqn.2011-02.lan.hdserver:hydrar-desktop.win7vm-lun-0,if=ide,bus=0,\
unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,10 +14,10 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,10 +14,10 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-hdb /dev/HostVG/QEMUGuest2 \ -drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=1 \
-hdc /tmp/data.img \ -drive file=/tmp/data.img,if=ide,bus=1,unit=0 \
-hdd /tmp/logs.img \ -drive file=/tmp/logs.img,if=ide,bus=1,unit=1 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-usbdevice disk:/tmp/usbdisk.img \ -usbdevice disk:/tmp/usbdisk.img \
-net none \ -net none \
-serial none \ -serial none \
......
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \
-device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\ -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/import/from/host,\
bus=pci.0,addr=0x3 \ bus=pci.0,addr=0x3 \
......
...@@ -14,7 +14,7 @@ DISPLAY=:0.1 \ ...@@ -14,7 +14,7 @@ DISPLAY=:0.1 \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -14,7 +14,7 @@ DISPLAY=:0.1 \ ...@@ -14,7 +14,7 @@ DISPLAY=:0.1 \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=main,plaintext-channel=inputs,disable-agent-file-xfer \ tls-channel=main,plaintext-channel=inputs,disable-agent-file-xfer \
-vga qxl \ -vga qxl \
......
...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -16,7 +16,8 @@ QEMU_AUDIO_DRV=spice \
-boot c \ -boot c \
-device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \ -device virtio-serial-pci,id=virtio-serial1,bus=pci.0,addr=0xa \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-chardev spicevmc,id=charchannel0,name=vdagent \ -chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\ -device virtserialport,bus=virtio-serial1.0,nr=3,chardev=charchannel0,\
id=channel0,name=com.redhat.spice.0 \ id=channel0,name=com.redhat.spice.0 \
......
...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
image-compression=auto_glz,jpeg-wan-compression=auto,\ image-compression=auto_glz,jpeg-wan-compression=auto,\
zlib-glz-wan-compression=auto,playback-compression=on,streaming-video=filter \ zlib-glz-wan-compression=auto,playback-compression=on,streaming-video=filter \
......
...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=main,plaintext-channel=inputs \ tls-channel=main,plaintext-channel=inputs \
-vga qxl \ -vga qxl \
......
...@@ -15,7 +15,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -15,7 +15,8 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\ -spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\
x509-dir=/etc/pki/libvirt-spice,tls-channel=default \ x509-dir=/etc/pki/libvirt-spice,tls-channel=default \
-vga qxl \ -vga qxl \
......
...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \ ...@@ -14,7 +14,8 @@ QEMU_AUDIO_DRV=spice \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice,\
tls-channel=default,tls-channel=main,plaintext-channel=inputs,\ tls-channel=default,tls-channel=main,plaintext-channel=inputs,\
image-compression=auto_glz,jpeg-wan-compression=auto,\ image-compression=auto_glz,jpeg-wan-compression=auto,\
......
...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -13,7 +13,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest2 \ -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device pci-assign,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \ -device pci-assign,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest2 \ -drive file=/dev/HostVG/QEMUGuest2,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -15,6 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,6 +15,7 @@ QEMU_AUDIO_DRV=none \
-monitor unix:/tmp/test-monitor,server,nowait \ -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi \ -no-acpi \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bootindex=1 \ -device usb-host,hostbus=14,hostaddr=6,id=hostdev0,bootindex=1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-host,hostbus=14,hostaddr=6,id=hostdev0 \ -device usb-host,hostbus=14,hostaddr=6,id=hostdev0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest2 \ -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=55aa:20:0f.3,id=hostdev0,bus=pci.0,addr=0x3 \ -device vfio-pci,host=55aa:20:0f.3,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest2 \ -drive file=/dev/HostVG/QEMUGuest2,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device vfio-pci,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \ -device vfio-pci,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x3 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
...@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind ...@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -20,7 +20,7 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=805306368 \ ...@@ -20,7 +20,7 @@ mem-path=/dev/hugepages2M/libvirt/qemu,size=805306368 \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -19,7 +19,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=805306368 \ ...@@ -19,7 +19,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=805306368 \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind ...@@ -29,7 +29,7 @@ mem-path=/dev/hugepages1G/libvirt/qemu,size=1073741824,host-nodes=3,policy=bind
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,6 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-0 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-device usb-mouse,id=input0,bus=usb.0,port=4 \ -device usb-mouse,id=input0,bus=usb.0,port=4 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none \ -parallel none \
......
...@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -18,7 +18,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -16,7 +16,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -15,7 +15,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-cdrom /root/boot.iso \ -cdrom /root/boot.iso \
-net none \ -net none \
-serial none \ -serial none \
......
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \ ...@@ -14,7 +14,7 @@ QEMU_AUDIO_DRV=none \
-no-acpi \ -no-acpi \
-boot c \ -boot c \
-usb \ -usb \
-hda /dev/HostVG/QEMUGuest1 \ -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0 \
-net none \ -net none \
-serial none \ -serial none \
-parallel none -parallel none
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册