提交 21642e82 编写于 作者: J Jiri Denemark

qemu: Rename QEMUD_CMD_FLAG_* to QEMU_CAPS_*

The new names comply more with the fact that they are all members of
enum qemuCapsFlags.
上级 40641f2a
...@@ -400,7 +400,7 @@ qemuCapsProbeCPUModels(const char *qemu, ...@@ -400,7 +400,7 @@ qemuCapsProbeCPUModels(const char *qemu,
} }
cmd = virCommandNewArgList(qemu, "-cpu", "?", NULL); cmd = virCommandNewArgList(qemu, "-cpu", "?", NULL);
if (qemuCmdFlags & QEMUD_CMD_FLAG_NODEFCONFIG) if (qemuCmdFlags & QEMU_CAPS_NODEFCONFIG)
virCommandAddArg(cmd, "-nodefconfig"); virCommandAddArg(cmd, "-nodefconfig");
virCommandAddEnvPassCommon(cmd); virCommandAddEnvPassCommon(cmd);
virCommandSetOutputBuffer(cmd, &output); virCommandSetOutputBuffer(cmd, &output);
...@@ -559,7 +559,7 @@ qemuCapsInitGuest(virCapsPtr caps, ...@@ -559,7 +559,7 @@ qemuCapsInitGuest(virCapsPtr caps,
goto error; goto error;
if (qemuCapsExtractVersionInfo(binary, info->arch, NULL, &qemuCmdFlags) < 0 || if (qemuCapsExtractVersionInfo(binary, info->arch, NULL, &qemuCmdFlags) < 0 ||
((qemuCmdFlags & QEMUD_CMD_FLAG_BOOTINDEX) && ((qemuCmdFlags & QEMU_CAPS_BOOTINDEX) &&
!virCapabilitiesAddGuestFeature(guest, "deviceboot", 1, 0))) !virCapabilitiesAddGuestFeature(guest, "deviceboot", 1, 0)))
goto error; goto error;
...@@ -791,119 +791,119 @@ qemuCapsComputeCmdFlags(const char *help, ...@@ -791,119 +791,119 @@ qemuCapsComputeCmdFlags(const char *help,
const char *p; const char *p;
if (strstr(help, "-no-kqemu")) if (strstr(help, "-no-kqemu"))
flags |= QEMUD_CMD_FLAG_KQEMU; flags |= QEMU_CAPS_KQEMU;
if (strstr(help, "-enable-kqemu")) if (strstr(help, "-enable-kqemu"))
flags |= QEMUD_CMD_FLAG_ENABLE_KQEMU; flags |= QEMU_CAPS_ENABLE_KQEMU;
if (strstr(help, "-no-kvm")) if (strstr(help, "-no-kvm"))
flags |= QEMUD_CMD_FLAG_KVM; flags |= QEMU_CAPS_KVM;
if (strstr(help, "-enable-kvm")) if (strstr(help, "-enable-kvm"))
flags |= QEMUD_CMD_FLAG_ENABLE_KVM; flags |= QEMU_CAPS_ENABLE_KVM;
if (strstr(help, "-no-reboot")) if (strstr(help, "-no-reboot"))
flags |= QEMUD_CMD_FLAG_NO_REBOOT; flags |= QEMU_CAPS_NO_REBOOT;
if (strstr(help, "-name")) { if (strstr(help, "-name")) {
flags |= QEMUD_CMD_FLAG_NAME; flags |= QEMU_CAPS_NAME;
if (strstr(help, ",process=")) if (strstr(help, ",process="))
flags |= QEMUD_CMD_FLAG_NAME_PROCESS; flags |= QEMU_CAPS_NAME_PROCESS;
} }
if (strstr(help, "-uuid")) if (strstr(help, "-uuid"))
flags |= QEMUD_CMD_FLAG_UUID; flags |= QEMU_CAPS_UUID;
if (strstr(help, "-xen-domid")) if (strstr(help, "-xen-domid"))
flags |= QEMUD_CMD_FLAG_XEN_DOMID; flags |= QEMU_CAPS_XEN_DOMID;
else if (strstr(help, "-domid")) else if (strstr(help, "-domid"))
flags |= QEMUD_CMD_FLAG_DOMID; flags |= QEMU_CAPS_DOMID;
if (strstr(help, "-drive")) { if (strstr(help, "-drive")) {
flags |= QEMUD_CMD_FLAG_DRIVE; flags |= QEMU_CAPS_DRIVE;
if (strstr(help, "cache=") && if (strstr(help, "cache=") &&
!strstr(help, "cache=on|off")) !strstr(help, "cache=on|off"))
flags |= QEMUD_CMD_FLAG_DRIVE_CACHE_V2; flags |= QEMU_CAPS_DRIVE_CACHE_V2;
if (strstr(help, "format=")) if (strstr(help, "format="))
flags |= QEMUD_CMD_FLAG_DRIVE_FORMAT; flags |= QEMU_CAPS_DRIVE_FORMAT;
if (strstr(help, "readonly=")) if (strstr(help, "readonly="))
flags |= QEMUD_CMD_FLAG_DRIVE_READONLY; flags |= QEMU_CAPS_DRIVE_READONLY;
if (strstr(help, "aio=threads|native")) if (strstr(help, "aio=threads|native"))
flags |= QEMUD_CMD_FLAG_DRIVE_AIO; flags |= QEMU_CAPS_DRIVE_AIO;
} }
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");
flags |= QEMUD_CMD_FLAG_VGA; flags |= QEMU_CAPS_VGA;
if (strstr(p, "|qxl")) if (strstr(p, "|qxl"))
flags |= QEMUD_CMD_FLAG_VGA_QXL; flags |= QEMU_CAPS_VGA_QXL;
if ((p = strstr(p, "|none")) && p < nl) if ((p = strstr(p, "|none")) && p < nl)
flags |= QEMUD_CMD_FLAG_VGA_NONE; flags |= QEMU_CAPS_VGA_NONE;
} }
if (strstr(help, "-spice")) if (strstr(help, "-spice"))
flags |= QEMUD_CMD_FLAG_SPICE; flags |= QEMU_CAPS_SPICE;
if (strstr(help, "boot=on")) if (strstr(help, "boot=on"))
flags |= QEMUD_CMD_FLAG_DRIVE_BOOT; flags |= QEMU_CAPS_DRIVE_BOOT;
if (strstr(help, "serial=s")) if (strstr(help, "serial=s"))
flags |= QEMUD_CMD_FLAG_DRIVE_SERIAL; flags |= QEMU_CAPS_DRIVE_SERIAL;
if (strstr(help, "-pcidevice")) if (strstr(help, "-pcidevice"))
flags |= QEMUD_CMD_FLAG_PCIDEVICE; flags |= QEMU_CAPS_PCIDEVICE;
if (strstr(help, "-mem-path")) if (strstr(help, "-mem-path"))
flags |= QEMUD_CMD_FLAG_MEM_PATH; flags |= QEMU_CAPS_MEM_PATH;
if (strstr(help, "-chardev")) { if (strstr(help, "-chardev")) {
flags |= QEMUD_CMD_FLAG_CHARDEV; flags |= QEMU_CAPS_CHARDEV;
if (strstr(help, "-chardev spicevmc")) if (strstr(help, "-chardev spicevmc"))
flags |= QEMUD_CMD_FLAG_CHARDEV_SPICEVMC; flags |= QEMU_CAPS_CHARDEV_SPICEVMC;
} }
if (strstr(help, "-balloon")) if (strstr(help, "-balloon"))
flags |= QEMUD_CMD_FLAG_BALLOON; flags |= QEMU_CAPS_BALLOON;
if (strstr(help, "-device")) { if (strstr(help, "-device")) {
flags |= QEMUD_CMD_FLAG_DEVICE; flags |= QEMU_CAPS_DEVICE;
/* /*
* When -device was introduced, qemu already supported drive's * When -device was introduced, qemu already supported drive's
* readonly option but didn't advertise that. * readonly option but didn't advertise that.
*/ */
flags |= QEMUD_CMD_FLAG_DRIVE_READONLY; flags |= QEMU_CAPS_DRIVE_READONLY;
} }
if (strstr(help, "-nodefconfig")) if (strstr(help, "-nodefconfig"))
flags |= QEMUD_CMD_FLAG_NODEFCONFIG; flags |= QEMU_CAPS_NODEFCONFIG;
/* The trailing ' ' is important to avoid a bogus match */ /* The trailing ' ' is important to avoid a bogus match */
if (strstr(help, "-rtc ")) if (strstr(help, "-rtc "))
flags |= QEMUD_CMD_FLAG_RTC; flags |= QEMU_CAPS_RTC;
/* to wit */ /* to wit */
if (strstr(help, "-rtc-td-hack")) if (strstr(help, "-rtc-td-hack"))
flags |= QEMUD_CMD_FLAG_RTC_TD_HACK; flags |= QEMU_CAPS_RTC_TD_HACK;
if (strstr(help, "-no-hpet")) if (strstr(help, "-no-hpet"))
flags |= QEMUD_CMD_FLAG_NO_HPET; flags |= QEMU_CAPS_NO_HPET;
if (strstr(help, "-no-kvm-pit-reinjection")) if (strstr(help, "-no-kvm-pit-reinjection"))
flags |= QEMUD_CMD_FLAG_NO_KVM_PIT; flags |= QEMU_CAPS_NO_KVM_PIT;
if (strstr(help, "-tdf")) if (strstr(help, "-tdf"))
flags |= QEMUD_CMD_FLAG_TDF; flags |= QEMU_CAPS_TDF;
if (strstr(help, "-enable-nesting")) if (strstr(help, "-enable-nesting"))
flags |= QEMUD_CMD_FLAG_NESTING; flags |= QEMU_CAPS_NESTING;
if (strstr(help, ",menu=on")) if (strstr(help, ",menu=on"))
flags |= QEMUD_CMD_FLAG_BOOT_MENU; flags |= QEMU_CAPS_BOOT_MENU;
if (strstr(help, "-fsdev")) if (strstr(help, "-fsdev"))
flags |= QEMUD_CMD_FLAG_FSDEV; flags |= QEMU_CAPS_FSDEV;
if (strstr(help, "-smbios type")) if (strstr(help, "-smbios type"))
flags |= QEMUD_CMD_FLAG_SMBIOS_TYPE; flags |= QEMU_CAPS_SMBIOS_TYPE;
if (strstr(help, "-netdev")) { if (strstr(help, "-netdev")) {
/* Disable -netdev on 0.12 since although it exists, /* Disable -netdev on 0.12 since although it exists,
* the corresponding netdev_add/remove monitor commands * the corresponding netdev_add/remove monitor commands
* do not, and we need them to be able todo hotplug */ * do not, and we need them to be able todo hotplug */
if (version >= 13000) if (version >= 13000)
flags |= QEMUD_CMD_FLAG_NETDEV; flags |= QEMU_CAPS_NETDEV;
} }
if (strstr(help, "-sdl")) if (strstr(help, "-sdl"))
flags |= QEMUD_CMD_FLAG_SDL; flags |= QEMU_CAPS_SDL;
if (strstr(help, "cores=") && if (strstr(help, "cores=") &&
strstr(help, "threads=") && strstr(help, "threads=") &&
strstr(help, "sockets=")) strstr(help, "sockets="))
flags |= QEMUD_CMD_FLAG_SMP_TOPOLOGY; flags |= QEMU_CAPS_SMP_TOPOLOGY;
if (version >= 9000) if (version >= 9000)
flags |= QEMUD_CMD_FLAG_VNC_COLON; flags |= QEMU_CAPS_VNC_COLON;
if (is_kvm && (version >= 10000 || kvm_version >= 74)) if (is_kvm && (version >= 10000 || kvm_version >= 74))
flags |= QEMUD_CMD_FLAG_VNET_HDR; flags |= QEMU_CAPS_VNET_HDR;
if (is_kvm && strstr(help, ",vhost=")) { if (is_kvm && strstr(help, ",vhost=")) {
flags |= QEMUD_CMD_FLAG_VNET_HOST; flags |= QEMU_CAPS_VNET_HOST;
} }
/* /*
...@@ -919,22 +919,22 @@ qemuCapsComputeCmdFlags(const char *help, ...@@ -919,22 +919,22 @@ qemuCapsComputeCmdFlags(const char *help,
* while waiting for data, so pretend it doesn't exist * while waiting for data, so pretend it doesn't exist
*/ */
if (version >= 10000) { if (version >= 10000) {
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP; flags |= QEMU_CAPS_MIGRATE_QEMU_TCP;
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC; flags |= QEMU_CAPS_MIGRATE_QEMU_EXEC;
if (version >= 12000) { if (version >= 12000) {
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_UNIX; flags |= QEMU_CAPS_MIGRATE_QEMU_UNIX;
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_FD; flags |= QEMU_CAPS_MIGRATE_QEMU_FD;
} }
} else if (kvm_version >= 79) { } else if (kvm_version >= 79) {
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP; flags |= QEMU_CAPS_MIGRATE_QEMU_TCP;
if (kvm_version >= 80) if (kvm_version >= 80)
flags |= QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC; flags |= QEMU_CAPS_MIGRATE_QEMU_EXEC;
} else if (kvm_version > 0) { } else if (kvm_version > 0) {
flags |= QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO; flags |= QEMU_CAPS_MIGRATE_KVM_STDIO;
} }
if (version >= 10000) if (version >= 10000)
flags |= QEMUD_CMD_FLAG_0_10; flags |= QEMU_CAPS_0_10;
/* While JSON mode was available in 0.12.0, it was too /* While JSON mode was available in 0.12.0, it was too
* incomplete to contemplate using. The 0.13.0 release * incomplete to contemplate using. The 0.13.0 release
...@@ -943,7 +943,7 @@ qemuCapsComputeCmdFlags(const char *help, ...@@ -943,7 +943,7 @@ qemuCapsComputeCmdFlags(const char *help,
* the downside. * the downside.
*/ */
if (version >= 13000) if (version >= 13000)
flags |= QEMUD_CMD_FLAG_MONITOR_JSON; flags |= QEMU_CAPS_MONITOR_JSON;
return flags; return flags;
} }
...@@ -1098,26 +1098,26 @@ qemuCapsParseDeviceStr(const char *str, unsigned long long *flags) ...@@ -1098,26 +1098,26 @@ qemuCapsParseDeviceStr(const char *str, unsigned long long *flags)
{ {
/* Which devices exist. */ /* Which devices exist. */
if (strstr(str, "name \"hda-duplex\"")) if (strstr(str, "name \"hda-duplex\""))
*flags |= QEMUD_CMD_FLAG_HDA_DUPLEX; *flags |= QEMU_CAPS_HDA_DUPLEX;
if (strstr(str, "name \"ccid-card-emulated\"")) if (strstr(str, "name \"ccid-card-emulated\""))
*flags |= QEMUD_CMD_FLAG_CCID_EMULATED; *flags |= QEMU_CAPS_CCID_EMULATED;
if (strstr(str, "name \"ccid-card-passthru\"")) if (strstr(str, "name \"ccid-card-passthru\""))
*flags |= QEMUD_CMD_FLAG_CCID_PASSTHRU; *flags |= QEMU_CAPS_CCID_PASSTHRU;
/* Prefer -chardev spicevmc (detected earlier) over -device spicevmc */ /* Prefer -chardev spicevmc (detected earlier) over -device spicevmc */
if (!(*flags & QEMUD_CMD_FLAG_CHARDEV_SPICEVMC) && if (!(*flags & QEMU_CAPS_CHARDEV_SPICEVMC) &&
strstr(str, "name \"spicevmc\"")) strstr(str, "name \"spicevmc\""))
*flags |= QEMUD_CMD_FLAG_DEVICE_SPICEVMC; *flags |= QEMU_CAPS_DEVICE_SPICEVMC;
/* Features of given devices. */ /* Features of given devices. */
if (strstr(str, "pci-assign.configfd")) if (strstr(str, "pci-assign.configfd"))
*flags |= QEMUD_CMD_FLAG_PCI_CONFIGFD; *flags |= QEMU_CAPS_PCI_CONFIGFD;
if (strstr(str, "virtio-blk-pci.bootindex")) { if (strstr(str, "virtio-blk-pci.bootindex")) {
*flags |= QEMUD_CMD_FLAG_BOOTINDEX; *flags |= QEMU_CAPS_BOOTINDEX;
if (strstr(str, "pci-assign.bootindex")) if (strstr(str, "pci-assign.bootindex"))
*flags |= QEMUD_CMD_FLAG_PCI_BOOTINDEX; *flags |= QEMU_CAPS_PCI_BOOTINDEX;
} }
if (strstr(str, "virtio-net-pci.tx=")) if (strstr(str, "virtio-net-pci.tx="))
*flags |= QEMUD_CMD_FLAG_VIRTIO_TX_ALG; *flags |= QEMU_CAPS_VIRTIO_TX_ALG;
return 0; return 0;
} }
...@@ -1161,12 +1161,12 @@ int qemuCapsExtractVersionInfo(const char *qemu, const char *arch, ...@@ -1161,12 +1161,12 @@ int qemuCapsExtractVersionInfo(const char *qemu, const char *arch,
/* Currently only x86_64 and i686 support PCI-multibus. */ /* Currently only x86_64 and i686 support PCI-multibus. */
if (STREQLEN(arch, "x86_64", 6) || if (STREQLEN(arch, "x86_64", 6) ||
STREQLEN(arch, "i686", 4)) { STREQLEN(arch, "i686", 4)) {
flags |= QEMUD_CMD_FLAG_PCI_MULTIBUS; flags |= QEMU_CAPS_PCI_MULTIBUS;
} }
/* qemuCapsExtractDeviceStr will only set additional flags if qemu /* qemuCapsExtractDeviceStr will only set additional flags if qemu
* understands the 0.13.0+ notion of "-device driver,". */ * understands the 0.13.0+ notion of "-device driver,". */
if ((flags & QEMUD_CMD_FLAG_DEVICE) && if ((flags & QEMU_CAPS_DEVICE) &&
strstr(help, "-device driver,?") && strstr(help, "-device driver,?") &&
qemuCapsExtractDeviceStr(qemu, &flags) < 0) qemuCapsExtractDeviceStr(qemu, &flags) < 0)
goto cleanup; goto cleanup;
......
...@@ -28,71 +28,71 @@ ...@@ -28,71 +28,71 @@
/* Internal flags to keep track of qemu command line capabilities */ /* Internal flags to keep track of qemu command line capabilities */
enum qemuCapsFlags { enum qemuCapsFlags {
QEMUD_CMD_FLAG_KQEMU = (1 << 0), /* Whether KQEMU is compiled in */ QEMU_CAPS_KQEMU = (1 << 0), /* Whether KQEMU is compiled in */
QEMUD_CMD_FLAG_VNC_COLON = (1 << 1), /* Does the VNC take just port, or address + display */ QEMU_CAPS_VNC_COLON = (1 << 1), /* Does the VNC take just port, or address + display */
QEMUD_CMD_FLAG_NO_REBOOT = (1 << 2), /* Is the -no-reboot flag available */ QEMU_CAPS_NO_REBOOT = (1 << 2), /* Is the -no-reboot flag available */
QEMUD_CMD_FLAG_DRIVE = (1 << 3), /* Is the new -drive arg available */ QEMU_CAPS_DRIVE = (1 << 3), /* Is the new -drive arg available */
QEMUD_CMD_FLAG_DRIVE_BOOT = (1 << 4), /* Does -drive support boot=on */ QEMU_CAPS_DRIVE_BOOT = (1 << 4), /* Does -drive support boot=on */
QEMUD_CMD_FLAG_NAME = (1 << 5), /* Is the -name flag available */ QEMU_CAPS_NAME = (1 << 5), /* Is the -name flag available */
QEMUD_CMD_FLAG_UUID = (1 << 6), /* Is the -uuid flag available */ QEMU_CAPS_UUID = (1 << 6), /* Is the -uuid flag available */
QEMUD_CMD_FLAG_DOMID = (1 << 7), /* Xenner only, special -domid flag available */ QEMU_CAPS_DOMID = (1 << 7), /* Xenner only, special -domid flag available */
QEMUD_CMD_FLAG_VNET_HDR = (1 << 8), QEMU_CAPS_VNET_HDR = (1 << 8),
QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO = (1 << 9), /* Original migration code from KVM. Also had tcp, but we can't use that QEMU_CAPS_MIGRATE_KVM_STDIO = (1 << 9), /* Original migration code from KVM. Also had tcp, but we can't use that
* since it had a design bug blocking the entire monitor console */ * since it had a design bug blocking the entire monitor console */
QEMUD_CMD_FLAG_MIGRATE_QEMU_TCP = (1 << 10), /* New migration syntax after merge to QEMU with TCP transport */ QEMU_CAPS_MIGRATE_QEMU_TCP = (1 << 10), /* New migration syntax after merge to QEMU with TCP transport */
QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC = (1 << 11), /* New migration syntax after merge to QEMU with EXEC transport */ QEMU_CAPS_MIGRATE_QEMU_EXEC = (1 << 11), /* New migration syntax after merge to QEMU with EXEC transport */
QEMUD_CMD_FLAG_DRIVE_CACHE_V2 = (1 << 12), /* Is the cache= flag wanting new v2 values */ QEMU_CAPS_DRIVE_CACHE_V2 = (1 << 12), /* Is the cache= flag wanting new v2 values */
QEMUD_CMD_FLAG_KVM = (1 << 13), /* Whether KVM is compiled in */ QEMU_CAPS_KVM = (1 << 13), /* Whether KVM is compiled in */
QEMUD_CMD_FLAG_DRIVE_FORMAT = (1 << 14), /* Is -drive format= avail */ QEMU_CAPS_DRIVE_FORMAT = (1 << 14), /* Is -drive format= avail */
QEMUD_CMD_FLAG_VGA = (1 << 15), /* Is -vga avail */ QEMU_CAPS_VGA = (1 << 15), /* Is -vga avail */
/* features added in qemu-0.10.0 or later */ /* features added in qemu-0.10.0 or later */
QEMUD_CMD_FLAG_0_10 = (1 << 16), QEMU_CAPS_0_10 = (1 << 16),
QEMUD_CMD_FLAG_NET_NAME = QEMUD_CMD_FLAG_0_10, /* -net ...,name=str */ QEMU_CAPS_NET_NAME = QEMU_CAPS_0_10, /* -net ...,name=str */
QEMUD_CMD_FLAG_HOST_NET_ADD = QEMUD_CMD_FLAG_0_10, /* host_net_add monitor command */ QEMU_CAPS_HOST_NET_ADD = QEMU_CAPS_0_10, /* host_net_add monitor command */
QEMUD_CMD_FLAG_PCIDEVICE = (1 << 17), /* PCI device assignment only supported by qemu-kvm */ QEMU_CAPS_PCIDEVICE = (1 << 17), /* PCI device assignment only supported by qemu-kvm */
QEMUD_CMD_FLAG_MEM_PATH = (1 << 18), /* mmap'ped guest backing supported */ QEMU_CAPS_MEM_PATH = (1 << 18), /* mmap'ped guest backing supported */
QEMUD_CMD_FLAG_DRIVE_SERIAL = (1 << 19), /* -driver serial= available */ QEMU_CAPS_DRIVE_SERIAL = (1 << 19), /* -driver serial= available */
QEMUD_CMD_FLAG_XEN_DOMID = (1 << 20), /* -xen-domid (new style xen integration) */ QEMU_CAPS_XEN_DOMID = (1 << 20), /* -xen-domid (new style xen integration) */
QEMUD_CMD_FLAG_MIGRATE_QEMU_UNIX = (1 << 21), /* Does qemu support unix domain sockets for migration? */ QEMU_CAPS_MIGRATE_QEMU_UNIX = (1 << 21), /* Does qemu support unix domain sockets for migration? */
QEMUD_CMD_FLAG_CHARDEV = (1 << 22), /* Is the new -chardev arg available */ QEMU_CAPS_CHARDEV = (1 << 22), /* Is the new -chardev arg available */
QEMUD_CMD_FLAG_ENABLE_KVM = (1 << 23), /* Is the -enable-kvm flag available to "enable KVM full virtualization support" */ QEMU_CAPS_ENABLE_KVM = (1 << 23), /* Is the -enable-kvm flag available to "enable KVM full virtualization support" */
QEMUD_CMD_FLAG_MONITOR_JSON = (1 << 24), /* JSON mode for monitor */ QEMU_CAPS_MONITOR_JSON = (1 << 24), /* JSON mode for monitor */
QEMUD_CMD_FLAG_BALLOON = (1 << 25), /* -balloon available */ QEMU_CAPS_BALLOON = (1 << 25), /* -balloon available */
QEMUD_CMD_FLAG_DEVICE = (1 << 26), /* Is the new -device arg available */ QEMU_CAPS_DEVICE = (1 << 26), /* Is the new -device arg available */
QEMUD_CMD_FLAG_SDL = (1 << 27), /* Is the new -sdl arg available */ QEMU_CAPS_SDL = (1 << 27), /* Is the new -sdl arg available */
QEMUD_CMD_FLAG_SMP_TOPOLOGY = (1 << 28), /* Is sockets=s,cores=c,threads=t available for -smp? */ QEMU_CAPS_SMP_TOPOLOGY = (1 << 28), /* Is sockets=s,cores=c,threads=t available for -smp? */
QEMUD_CMD_FLAG_NETDEV = (1 << 29), /* The -netdev flag & netdev_add/remove monitor commands */ QEMU_CAPS_NETDEV = (1 << 29), /* The -netdev flag & netdev_add/remove monitor commands */
QEMUD_CMD_FLAG_RTC = (1 << 30), /* The -rtc flag for clock options */ QEMU_CAPS_RTC = (1 << 30), /* The -rtc flag for clock options */
QEMUD_CMD_FLAG_VNET_HOST = (1LL << 31), /* vnet-host support is available in qemu */ QEMU_CAPS_VNET_HOST = (1LL << 31), /* vnet-host support is available in qemu */
QEMUD_CMD_FLAG_RTC_TD_HACK = (1LL << 32), /* -rtc-td-hack available */ QEMU_CAPS_RTC_TD_HACK = (1LL << 32), /* -rtc-td-hack available */
QEMUD_CMD_FLAG_NO_HPET = (1LL << 33), /* -no-hpet flag is supported */ QEMU_CAPS_NO_HPET = (1LL << 33), /* -no-hpet flag is supported */
QEMUD_CMD_FLAG_NO_KVM_PIT = (1LL << 34), /* -no-kvm-pit-reinjection supported */ QEMU_CAPS_NO_KVM_PIT = (1LL << 34), /* -no-kvm-pit-reinjection supported */
QEMUD_CMD_FLAG_TDF = (1LL << 35), /* -tdf flag (user-mode pit catchup) */ QEMU_CAPS_TDF = (1LL << 35), /* -tdf flag (user-mode pit catchup) */
QEMUD_CMD_FLAG_PCI_CONFIGFD = (1LL << 36), /* pci-assign.configfd */ QEMU_CAPS_PCI_CONFIGFD = (1LL << 36), /* pci-assign.configfd */
QEMUD_CMD_FLAG_NODEFCONFIG = (1LL << 37), /* -nodefconfig */ QEMU_CAPS_NODEFCONFIG = (1LL << 37), /* -nodefconfig */
QEMUD_CMD_FLAG_BOOT_MENU = (1LL << 38), /* -boot menu=on support */ QEMU_CAPS_BOOT_MENU = (1LL << 38), /* -boot menu=on support */
QEMUD_CMD_FLAG_ENABLE_KQEMU = (1LL << 39), /* -enable-kqemu flag */ QEMU_CAPS_ENABLE_KQEMU = (1LL << 39), /* -enable-kqemu flag */
QEMUD_CMD_FLAG_FSDEV = (1LL << 40), /* -fstype filesystem passthrough */ QEMU_CAPS_FSDEV = (1LL << 40), /* -fstype filesystem passthrough */
QEMUD_CMD_FLAG_NESTING = (1LL << 41), /* -enable-nesting (SVM/VMX) */ QEMU_CAPS_NESTING = (1LL << 41), /* -enable-nesting (SVM/VMX) */
QEMUD_CMD_FLAG_NAME_PROCESS = (1LL << 42), /* Is -name process= available */ QEMU_CAPS_NAME_PROCESS = (1LL << 42), /* Is -name process= available */
QEMUD_CMD_FLAG_DRIVE_READONLY= (1LL << 43), /* -drive readonly=on|off */ QEMU_CAPS_DRIVE_READONLY= (1LL << 43), /* -drive readonly=on|off */
QEMUD_CMD_FLAG_SMBIOS_TYPE = (1LL << 44), /* Is -smbios type= available */ QEMU_CAPS_SMBIOS_TYPE = (1LL << 44), /* Is -smbios type= available */
QEMUD_CMD_FLAG_VGA_QXL = (1LL << 45), /* The 'qxl' arg for '-vga' */ QEMU_CAPS_VGA_QXL = (1LL << 45), /* The 'qxl' arg for '-vga' */
QEMUD_CMD_FLAG_SPICE = (1LL << 46), /* Is -spice avail */ QEMU_CAPS_SPICE = (1LL << 46), /* Is -spice avail */
QEMUD_CMD_FLAG_VGA_NONE = (1LL << 47), /* The 'none' arg for '-vga' */ QEMU_CAPS_VGA_NONE = (1LL << 47), /* The 'none' arg for '-vga' */
QEMUD_CMD_FLAG_MIGRATE_QEMU_FD = (1LL << 48), /* -incoming fd:n */ QEMU_CAPS_MIGRATE_QEMU_FD = (1LL << 48), /* -incoming fd:n */
QEMUD_CMD_FLAG_BOOTINDEX = (1LL << 49), /* -device bootindex property */ QEMU_CAPS_BOOTINDEX = (1LL << 49), /* -device bootindex property */
QEMUD_CMD_FLAG_HDA_DUPLEX = (1LL << 50), /* -device hda-duplex */ QEMU_CAPS_HDA_DUPLEX = (1LL << 50), /* -device hda-duplex */
QEMUD_CMD_FLAG_DRIVE_AIO = (1LL << 51), /* -drive aio= supported */ QEMU_CAPS_DRIVE_AIO = (1LL << 51), /* -drive aio= supported */
QEMUD_CMD_FLAG_PCI_MULTIBUS = (1LL << 52), /* bus=pci.0 vs bus=pci */ QEMU_CAPS_PCI_MULTIBUS = (1LL << 52), /* bus=pci.0 vs bus=pci */
QEMUD_CMD_FLAG_PCI_BOOTINDEX = (1LL << 53), /* pci-assign.bootindex */ QEMU_CAPS_PCI_BOOTINDEX = (1LL << 53), /* pci-assign.bootindex */
QEMUD_CMD_FLAG_CCID_EMULATED = (1LL << 54), /* -device ccid-card-emulated */ QEMU_CAPS_CCID_EMULATED = (1LL << 54), /* -device ccid-card-emulated */
QEMUD_CMD_FLAG_CCID_PASSTHRU = (1LL << 55), /* -device ccid-card-passthru */ QEMU_CAPS_CCID_PASSTHRU = (1LL << 55), /* -device ccid-card-passthru */
QEMUD_CMD_FLAG_CHARDEV_SPICEVMC = (1LL << 56), /* newer -chardev spicevmc */ QEMU_CAPS_CHARDEV_SPICEVMC = (1LL << 56), /* newer -chardev spicevmc */
QEMUD_CMD_FLAG_DEVICE_SPICEVMC = (1LL << 57), /* older -device spicevmc*/ QEMU_CAPS_DEVICE_SPICEVMC = (1LL << 57), /* older -device spicevmc*/
QEMUD_CMD_FLAG_VIRTIO_TX_ALG = (1LL << 58), /* -device virtio-net-pci,tx=string */ QEMU_CAPS_VIRTIO_TX_ALG = (1LL << 58), /* -device virtio-net-pci,tx=string */
}; };
virCapsPtr qemuCapsInit(virCapsPtr old_caps); virCapsPtr qemuCapsInit(virCapsPtr old_caps);
......
此差异已折叠。
...@@ -160,7 +160,7 @@ int qemuDomainAttachPciDiskDevice(struct qemud_driver *driver, ...@@ -160,7 +160,7 @@ int qemuDomainAttachPciDiskDevice(struct qemud_driver *driver,
vm, disk) < 0) vm, disk) < 0)
return -1; return -1;
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &disk->info) < 0) if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &disk->info) < 0)
goto error; goto error;
if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0) if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0)
...@@ -179,7 +179,7 @@ int qemuDomainAttachPciDiskDevice(struct qemud_driver *driver, ...@@ -179,7 +179,7 @@ int qemuDomainAttachPciDiskDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
ret = qemuMonitorAddDrive(priv->mon, drivestr); ret = qemuMonitorAddDrive(priv->mon, drivestr);
if (ret == 0) { if (ret == 0) {
ret = qemuMonitorAddDevice(priv->mon, devstr); ret = qemuMonitorAddDevice(priv->mon, devstr);
...@@ -219,7 +219,7 @@ error: ...@@ -219,7 +219,7 @@ error:
VIR_FREE(devstr); VIR_FREE(devstr);
VIR_FREE(drivestr); VIR_FREE(drivestr);
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
(disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) && (disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &disk->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &disk->info) < 0)
VIR_WARN("Unable to release PCI address on %s", disk->src); VIR_WARN("Unable to release PCI address on %s", disk->src);
...@@ -253,7 +253,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver, ...@@ -253,7 +253,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver,
} }
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &controller->info) < 0) if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &controller->info) < 0)
goto cleanup; goto cleanup;
if (qemuAssignDeviceControllerAlias(controller) < 0) if (qemuAssignDeviceControllerAlias(controller) < 0)
...@@ -270,7 +270,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver, ...@@ -270,7 +270,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
ret = qemuMonitorAddDevice(priv->mon, devstr); ret = qemuMonitorAddDevice(priv->mon, devstr);
} else { } else {
ret = qemuMonitorAttachPCIDiskController(priv->mon, ret = qemuMonitorAttachPCIDiskController(priv->mon,
...@@ -286,7 +286,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver, ...@@ -286,7 +286,7 @@ int qemuDomainAttachPciControllerDevice(struct qemud_driver *driver,
cleanup: cleanup:
if ((ret != 0) && if ((ret != 0) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && (qemuCmdFlags & QEMU_CAPS_DEVICE) &&
(controller->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) && (controller->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &controller->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &controller->info) < 0)
VIR_WARN0("Unable to release PCI address on controller"); VIR_WARN0("Unable to release PCI address on controller");
...@@ -376,7 +376,7 @@ int qemuDomainAttachSCSIDisk(struct qemud_driver *driver, ...@@ -376,7 +376,7 @@ int qemuDomainAttachSCSIDisk(struct qemud_driver *driver,
goto error; goto error;
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0) if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0)
goto error; goto error;
if (!(devstr = qemuBuildDriveDevStr(disk, qemuCmdFlags))) if (!(devstr = qemuBuildDriveDevStr(disk, qemuCmdFlags)))
...@@ -409,7 +409,7 @@ int qemuDomainAttachSCSIDisk(struct qemud_driver *driver, ...@@ -409,7 +409,7 @@ int qemuDomainAttachSCSIDisk(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
ret = qemuMonitorAddDrive(priv->mon, drivestr); ret = qemuMonitorAddDrive(priv->mon, drivestr);
if (ret == 0) { if (ret == 0) {
ret = qemuMonitorAddDevice(priv->mon, devstr); ret = qemuMonitorAddDevice(priv->mon, devstr);
...@@ -487,7 +487,7 @@ int qemuDomainAttachUsbMassstorageDevice(struct qemud_driver *driver, ...@@ -487,7 +487,7 @@ int qemuDomainAttachUsbMassstorageDevice(struct qemud_driver *driver,
goto error; goto error;
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0) if (qemuAssignDeviceDiskAlias(disk, qemuCmdFlags) < 0)
goto error; goto error;
if (!(drivestr = qemuBuildDriveStr(disk, 0, qemuCmdFlags))) if (!(drivestr = qemuBuildDriveStr(disk, 0, qemuCmdFlags)))
...@@ -502,7 +502,7 @@ int qemuDomainAttachUsbMassstorageDevice(struct qemud_driver *driver, ...@@ -502,7 +502,7 @@ int qemuDomainAttachUsbMassstorageDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
ret = qemuMonitorAddDrive(priv->mon, drivestr); ret = qemuMonitorAddDrive(priv->mon, drivestr);
if (ret == 0) { if (ret == 0) {
ret = qemuMonitorAddDevice(priv->mon, devstr); ret = qemuMonitorAddDevice(priv->mon, devstr);
...@@ -558,7 +558,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -558,7 +558,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
virDomainDevicePCIAddress guestAddr; virDomainDevicePCIAddress guestAddr;
int vlan; int vlan;
if (!(qemuCmdFlags & QEMUD_CMD_FLAG_HOST_NET_ADD)) { if (!(qemuCmdFlags & QEMU_CAPS_HOST_NET_ADD)) {
qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("installed qemu version does not support host_net_add")); _("installed qemu version does not support host_net_add"));
return -1; return -1;
...@@ -595,18 +595,18 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -595,18 +595,18 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets+1) < 0) if (VIR_REALLOC_N(vm->def->nets, vm->def->nnets+1) < 0)
goto no_memory; goto no_memory;
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NET_NAME) || if ((qemuCmdFlags & QEMU_CAPS_NET_NAME) ||
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
if (qemuAssignDeviceNetAlias(vm->def, net, -1) < 0) if (qemuAssignDeviceNetAlias(vm->def, net, -1) < 0)
goto cleanup; goto cleanup;
} }
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &net->info) < 0) qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &net->info) < 0)
goto cleanup; goto cleanup;
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NETDEV) && if ((qemuCmdFlags & QEMU_CAPS_NETDEV) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
vlan = -1; vlan = -1;
} else { } else {
vlan = qemuDomainNetVLAN(net); vlan = qemuDomainNetVLAN(net);
...@@ -637,8 +637,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -637,8 +637,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
} }
/* FIXME - need to support vhost-net here (5th arg) */ /* FIXME - need to support vhost-net here (5th arg) */
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NETDEV) && if ((qemuCmdFlags & QEMU_CAPS_NETDEV) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
if (!(netstr = qemuBuildHostNetStr(net, ',', if (!(netstr = qemuBuildHostNetStr(net, ',',
-1, tapfd_name, 0))) -1, tapfd_name, 0)))
goto try_tapfd_close; goto try_tapfd_close;
...@@ -649,8 +649,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -649,8 +649,8 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NETDEV) && if ((qemuCmdFlags & QEMU_CAPS_NETDEV) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
if (qemuMonitorAddNetdev(priv->mon, netstr) < 0) { if (qemuMonitorAddNetdev(priv->mon, netstr) < 0) {
qemuDomainObjExitMonitorWithDriver(driver, vm); qemuDomainObjExitMonitorWithDriver(driver, vm);
qemuDomainNetAudit(vm, NULL, net, "attach", false); qemuDomainNetAudit(vm, NULL, net, "attach", false);
...@@ -673,7 +673,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -673,7 +673,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
goto cleanup; goto cleanup;
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (!(nicstr = qemuBuildNicDevStr(net, vlan, qemuCmdFlags))) if (!(nicstr = qemuBuildNicDevStr(net, vlan, qemuCmdFlags)))
goto try_remove; goto try_remove;
} else { } else {
...@@ -682,7 +682,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -682,7 +682,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuMonitorAddDevice(priv->mon, nicstr) < 0) { if (qemuMonitorAddDevice(priv->mon, nicstr) < 0) {
qemuDomainObjExitMonitorWithDriver(driver, vm); qemuDomainObjExitMonitorWithDriver(driver, vm);
qemuDomainNetAudit(vm, NULL, net, "attach", false); qemuDomainNetAudit(vm, NULL, net, "attach", false);
...@@ -708,7 +708,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn, ...@@ -708,7 +708,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
cleanup: cleanup:
if ((ret != 0) && if ((ret != 0) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && (qemuCmdFlags & QEMU_CAPS_DEVICE) &&
(net->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) && (net->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &net->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &net->info) < 0)
VIR_WARN0("Unable to release PCI address on NIC"); VIR_WARN0("Unable to release PCI address on NIC");
...@@ -728,8 +728,8 @@ try_remove: ...@@ -728,8 +728,8 @@ try_remove:
goto cleanup; goto cleanup;
if (vlan < 0) { if (vlan < 0) {
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NETDEV) && if ((qemuCmdFlags & QEMU_CAPS_NETDEV) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
char *netdev_name; char *netdev_name;
if (virAsprintf(&netdev_name, "host%s", net->info.alias) < 0) if (virAsprintf(&netdev_name, "host%s", net->info.alias) < 0)
goto no_memory; goto no_memory;
...@@ -793,12 +793,12 @@ int qemuDomainAttachHostPciDevice(struct qemud_driver *driver, ...@@ -793,12 +793,12 @@ int qemuDomainAttachHostPciDevice(struct qemud_driver *driver,
if (qemuPrepareHostdevPCIDevices(driver, &hostdev, 1) < 0) if (qemuPrepareHostdevPCIDevices(driver, &hostdev, 1) < 0)
return -1; return -1;
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0) if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0)
goto error; goto error;
if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &hostdev->info) < 0) if (qemuDomainPCIAddressEnsureAddr(priv->pciaddrs, &hostdev->info) < 0)
goto error; goto error;
if (qemuCmdFlags & QEMUD_CMD_FLAG_PCI_CONFIGFD) { if (qemuCmdFlags & QEMU_CAPS_PCI_CONFIGFD) {
configfd = qemuOpenPCIConfig(hostdev); configfd = qemuOpenPCIConfig(hostdev);
if (configfd >= 0) { if (configfd >= 0) {
if (virAsprintf(&configfd_name, "fd-%s", if (virAsprintf(&configfd_name, "fd-%s",
...@@ -854,7 +854,7 @@ int qemuDomainAttachHostPciDevice(struct qemud_driver *driver, ...@@ -854,7 +854,7 @@ int qemuDomainAttachHostPciDevice(struct qemud_driver *driver,
return 0; return 0;
error: error:
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
(hostdev->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) && (hostdev->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &hostdev->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &hostdev->info) < 0)
VIR_WARN0("Unable to release PCI address on host device"); VIR_WARN0("Unable to release PCI address on host device");
...@@ -878,7 +878,7 @@ int qemuDomainAttachHostUsbDevice(struct qemud_driver *driver, ...@@ -878,7 +878,7 @@ int qemuDomainAttachHostUsbDevice(struct qemud_driver *driver,
qemuDomainObjPrivatePtr priv = vm->privateData; qemuDomainObjPrivatePtr priv = vm->privateData;
char *devstr = NULL; char *devstr = NULL;
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0) if (qemuAssignDeviceHostdevAlias(vm->def, hostdev, -1) < 0)
goto error; goto error;
if (!(devstr = qemuBuildUSBHostdevDevStr(hostdev))) if (!(devstr = qemuBuildUSBHostdevDevStr(hostdev)))
...@@ -910,7 +910,7 @@ int qemuDomainAttachHostUsbDevice(struct qemud_driver *driver, ...@@ -910,7 +910,7 @@ int qemuDomainAttachHostUsbDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) if (qemuCmdFlags & QEMU_CAPS_DEVICE)
ret = qemuMonitorAddDevice(priv->mon, devstr); ret = qemuMonitorAddDevice(priv->mon, devstr);
else else
ret = qemuMonitorAddUSBDeviceExact(priv->mon, ret = qemuMonitorAddUSBDeviceExact(priv->mon,
...@@ -1173,7 +1173,7 @@ int qemuDomainDetachPciDiskDevice(struct qemud_driver *driver, ...@@ -1173,7 +1173,7 @@ int qemuDomainDetachPciDiskDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) { if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) {
qemuDomainObjExitMonitor(vm); qemuDomainObjExitMonitor(vm);
goto cleanup; goto cleanup;
...@@ -1193,7 +1193,7 @@ int qemuDomainDetachPciDiskDevice(struct qemud_driver *driver, ...@@ -1193,7 +1193,7 @@ int qemuDomainDetachPciDiskDevice(struct qemud_driver *driver,
qemuDomainDiskAudit(vm, detach, NULL, "detach", ret >= 0); qemuDomainDiskAudit(vm, detach, NULL, "detach", ret >= 0);
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
VIR_WARN("Unable to release PCI address on %s", dev->data.disk->src); VIR_WARN("Unable to release PCI address on %s", dev->data.disk->src);
...@@ -1237,7 +1237,7 @@ int qemuDomainDetachSCSIDiskDevice(struct qemud_driver *driver, ...@@ -1237,7 +1237,7 @@ int qemuDomainDetachSCSIDiskDevice(struct qemud_driver *driver,
goto cleanup; goto cleanup;
} }
if (!(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { if (!(qemuCmdFlags & QEMU_CAPS_DEVICE)) {
qemuReportError(VIR_ERR_OPERATION_FAILED, "%s", qemuReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("Underlying qemu does not support SCSI disk removal")); _("Underlying qemu does not support SCSI disk removal"));
goto cleanup; goto cleanup;
...@@ -1385,13 +1385,13 @@ int qemuDomainDetachPciControllerDevice(struct qemud_driver *driver, ...@@ -1385,13 +1385,13 @@ int qemuDomainDetachPciControllerDevice(struct qemud_driver *driver,
goto cleanup; goto cleanup;
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuAssignDeviceControllerAlias(detach) < 0) if (qemuAssignDeviceControllerAlias(detach) < 0)
goto cleanup; goto cleanup;
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuMonitorDelDevice(priv->mon, detach->info.alias)) { if (qemuMonitorDelDevice(priv->mon, detach->info.alias)) {
qemuDomainObjExitMonitor(vm); qemuDomainObjExitMonitor(vm);
goto cleanup; goto cleanup;
...@@ -1419,7 +1419,7 @@ int qemuDomainDetachPciControllerDevice(struct qemud_driver *driver, ...@@ -1419,7 +1419,7 @@ int qemuDomainDetachPciControllerDevice(struct qemud_driver *driver,
vm->def->ncontrollers = 0; vm->def->ncontrollers = 0;
} }
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
VIR_WARN0("Unable to release PCI address on controller"); VIR_WARN0("Unable to release PCI address on controller");
...@@ -1479,7 +1479,7 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver, ...@@ -1479,7 +1479,7 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) { if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) {
qemuDomainObjExitMonitor(vm); qemuDomainObjExitMonitor(vm);
qemuDomainNetAudit(vm, detach, NULL, "detach", false); qemuDomainNetAudit(vm, detach, NULL, "detach", false);
...@@ -1494,8 +1494,8 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver, ...@@ -1494,8 +1494,8 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver,
} }
} }
if ((qemuCmdFlags & QEMUD_CMD_FLAG_NETDEV) && if ((qemuCmdFlags & QEMU_CAPS_NETDEV) &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
if (qemuMonitorRemoveNetdev(priv->mon, hostnet_name) < 0) { if (qemuMonitorRemoveNetdev(priv->mon, hostnet_name) < 0) {
qemuDomainObjExitMonitorWithDriver(driver, vm); qemuDomainObjExitMonitorWithDriver(driver, vm);
qemuDomainNetAudit(vm, detach, NULL, "detach", false); qemuDomainNetAudit(vm, detach, NULL, "detach", false);
...@@ -1512,7 +1512,7 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver, ...@@ -1512,7 +1512,7 @@ int qemuDomainDetachNetDevice(struct qemud_driver *driver,
qemuDomainNetAudit(vm, detach, NULL, "detach", true); qemuDomainNetAudit(vm, detach, NULL, "detach", true);
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
VIR_WARN0("Unable to release PCI address on NIC"); VIR_WARN0("Unable to release PCI address on NIC");
...@@ -1605,7 +1605,7 @@ int qemuDomainDetachHostPciDevice(struct qemud_driver *driver, ...@@ -1605,7 +1605,7 @@ int qemuDomainDetachHostPciDevice(struct qemud_driver *driver,
} }
qemuDomainObjEnterMonitorWithDriver(driver, vm); qemuDomainObjEnterMonitorWithDriver(driver, vm);
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) { if (qemuMonitorDelDevice(priv->mon, detach->info.alias) < 0) {
qemuDomainObjExitMonitor(vm); qemuDomainObjExitMonitor(vm);
return -1; return -1;
...@@ -1636,7 +1636,7 @@ int qemuDomainDetachHostPciDevice(struct qemud_driver *driver, ...@@ -1636,7 +1636,7 @@ int qemuDomainDetachHostPciDevice(struct qemud_driver *driver,
pciFreeDevice(pci); pciFreeDevice(pci);
} }
if ((qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) && if ((qemuCmdFlags & QEMU_CAPS_DEVICE) &&
qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0) qemuDomainPCIAddressReleaseAddr(priv->pciaddrs, &detach->info) < 0)
VIR_WARN0("Unable to release PCI address on host device"); VIR_WARN0("Unable to release PCI address on host device");
...@@ -1707,7 +1707,7 @@ int qemuDomainDetachHostUsbDevice(struct qemud_driver *driver, ...@@ -1707,7 +1707,7 @@ int qemuDomainDetachHostUsbDevice(struct qemud_driver *driver,
return -1; return -1;
} }
if (!(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { if (!(qemuCmdFlags & QEMU_CAPS_DEVICE)) {
qemuReportError(VIR_ERR_OPERATION_FAILED, qemuReportError(VIR_ERR_OPERATION_FAILED,
"%s", _("device cannot be detached with this QEMU version")); "%s", _("device cannot be detached with this QEMU version"));
return -1; return -1;
......
...@@ -304,9 +304,9 @@ qemuMigrationPrepareTunnel(struct qemud_driver *driver, ...@@ -304,9 +304,9 @@ qemuMigrationPrepareTunnel(struct qemud_driver *driver,
vm->def->emulator); vm->def->emulator);
goto endjob; goto endjob;
} }
if (qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_UNIX) if (qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_UNIX)
internalret = virAsprintf(&migrateFrom, "unix:%s", unixfile); internalret = virAsprintf(&migrateFrom, "unix:%s", unixfile);
else if (qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC) else if (qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_EXEC)
internalret = virAsprintf(&migrateFrom, "exec:nc -U -l %s", unixfile); internalret = virAsprintf(&migrateFrom, "exec:nc -U -l %s", unixfile);
else { else {
qemuReportError(VIR_ERR_OPERATION_FAILED, qemuReportError(VIR_ERR_OPERATION_FAILED,
...@@ -777,8 +777,8 @@ static int doTunnelMigrate(struct qemud_driver *driver, ...@@ -777,8 +777,8 @@ static int doTunnelMigrate(struct qemud_driver *driver,
goto cleanup; goto cleanup;
} }
if (!(qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_UNIX) && if (!(qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_UNIX) &&
!(qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC)) { !(qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_EXEC)) {
qemuReportError(VIR_ERR_OPERATION_FAILED, qemuReportError(VIR_ERR_OPERATION_FAILED,
"%s", _("Source qemu is too old to support tunnelled migration")); "%s", _("Source qemu is too old to support tunnelled migration"));
goto cleanup; goto cleanup;
...@@ -820,11 +820,11 @@ static int doTunnelMigrate(struct qemud_driver *driver, ...@@ -820,11 +820,11 @@ static int doTunnelMigrate(struct qemud_driver *driver,
background_flags |= QEMU_MONITOR_MIGRATE_NON_SHARED_DISK; background_flags |= QEMU_MONITOR_MIGRATE_NON_SHARED_DISK;
if (flags & VIR_MIGRATE_NON_SHARED_INC) if (flags & VIR_MIGRATE_NON_SHARED_INC)
background_flags |= QEMU_MONITOR_MIGRATE_NON_SHARED_INC; background_flags |= QEMU_MONITOR_MIGRATE_NON_SHARED_INC;
if (qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_UNIX){ if (qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_UNIX){
internalret = qemuMonitorMigrateToUnix(priv->mon, background_flags, internalret = qemuMonitorMigrateToUnix(priv->mon, background_flags,
unixfile); unixfile);
} }
else if (qemuCmdFlags & QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC) { else if (qemuCmdFlags & QEMU_CAPS_MIGRATE_QEMU_EXEC) {
const char *args[] = { "nc", "-U", unixfile, NULL }; const char *args[] = { "nc", "-U", unixfile, NULL };
internalret = qemuMonitorMigrateToCommand(priv->mon, QEMU_MONITOR_MIGRATE_BACKGROUND, args); internalret = qemuMonitorMigrateToCommand(priv->mon, QEMU_MONITOR_MIGRATE_BACKGROUND, args);
} else { } else {
......
...@@ -1159,7 +1159,7 @@ qemuProcessInitPasswords(virConnectPtr conn, ...@@ -1159,7 +1159,7 @@ qemuProcessInitPasswords(virConnectPtr conn,
if (ret < 0) if (ret < 0)
goto cleanup; goto cleanup;
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
int i; int i;
for (i = 0 ; i < vm->def->ndisks ; i++) { for (i = 0 ; i < vm->def->ndisks ; i++) {
...@@ -1816,7 +1816,7 @@ qemuProcessReconnect(void *payload, const char *name ATTRIBUTE_UNUSED, void *opa ...@@ -1816,7 +1816,7 @@ qemuProcessReconnect(void *payload, const char *name ATTRIBUTE_UNUSED, void *opa
if (qemuCapsExtractVersionInfo(obj->def->emulator, obj->def->os.arch, if (qemuCapsExtractVersionInfo(obj->def->emulator, obj->def->os.arch,
NULL, NULL,
&qemuCmdFlags) >= 0 && &qemuCmdFlags) >= 0 &&
(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { (qemuCmdFlags & QEMU_CAPS_DEVICE)) {
priv->persistentAddrs = 1; priv->persistentAddrs = 1;
if (!(priv->pciaddrs = qemuDomainPCIAddressSetCreate(obj->def)) || if (!(priv->pciaddrs = qemuDomainPCIAddressSetCreate(obj->def)) ||
...@@ -2027,7 +2027,7 @@ int qemuProcessStart(virConnectPtr conn, ...@@ -2027,7 +2027,7 @@ int qemuProcessStart(virConnectPtr conn,
goto cleanup; goto cleanup;
#if HAVE_YAJL #if HAVE_YAJL
if (qemuCmdFlags & QEMUD_CMD_FLAG_MONITOR_JSON) if (qemuCmdFlags & QEMU_CAPS_MONITOR_JSON)
priv->monJSON = 1; priv->monJSON = 1;
else else
#endif #endif
...@@ -2056,7 +2056,7 @@ int qemuProcessStart(virConnectPtr conn, ...@@ -2056,7 +2056,7 @@ int qemuProcessStart(virConnectPtr conn,
* we also need to populate the PCi address set cache for later * we also need to populate the PCi address set cache for later
* use in hotplug * use in hotplug
*/ */
if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) { if (qemuCmdFlags & QEMU_CAPS_DEVICE) {
VIR_DEBUG0("Assigning domain PCI addresses"); VIR_DEBUG0("Assigning domain PCI addresses");
/* Populate cache with current addresses */ /* Populate cache with current addresses */
if (priv->pciaddrs) { if (priv->pciaddrs) {
...@@ -2190,7 +2190,7 @@ int qemuProcessStart(virConnectPtr conn, ...@@ -2190,7 +2190,7 @@ int qemuProcessStart(virConnectPtr conn,
/* If we have -device, then addresses are assigned explicitly. /* If we have -device, then addresses are assigned explicitly.
* If not, then we have to detect dynamic ones here */ * If not, then we have to detect dynamic ones here */
if (!(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) { if (!(qemuCmdFlags & QEMU_CAPS_DEVICE)) {
VIR_DEBUG0("Determining domain device PCI addresses"); VIR_DEBUG0("Determining domain device PCI addresses");
if (qemuProcessInitPCIAddresses(driver, vm) < 0) if (qemuProcessInitPCIAddresses(driver, vm) < 0)
goto cleanup; goto cleanup;
......
...@@ -145,7 +145,7 @@ mymain(int argc, char **argv) ...@@ -145,7 +145,7 @@ mymain(int argc, char **argv)
unsetenv("LD_LIBRARY_PATH"); unsetenv("LD_LIBRARY_PATH");
/* Can't roundtrip vcpu cpuset attribute */ /* Can't roundtrip vcpu cpuset attribute */
/*DO_TEST("minimal", QEMUD_CMD_FLAG_NAME);*/ /*DO_TEST("minimal", QEMU_CAPS_NAME);*/
DO_TEST("boot-cdrom"); DO_TEST("boot-cdrom");
DO_TEST("boot-network"); DO_TEST("boot-network");
DO_TEST("boot-floppy"); DO_TEST("boot-floppy");
......
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册