mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-06 13:05:20 +00:00
qemu: add QEMU_CAPS_MACHINE_VMPORT_OPT
Set the capability based on qmp query, or qemu version. The qmp query includes vmport with 2.2, but no longer with 2.3. It lists only non-machine specific capabilities, so check the qemu version too until a machine-specific query is supported.
This commit is contained in:
parent
39343bc82c
commit
384a06f5f2
@ -279,6 +279,8 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
|
|||||||
"qxl.vgamem_mb",
|
"qxl.vgamem_mb",
|
||||||
"qxl-vga.vgamem_mb",
|
"qxl-vga.vgamem_mb",
|
||||||
"pc-dimm",
|
"pc-dimm",
|
||||||
|
|
||||||
|
"machine-vmport-opt", /* 185 */
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -2509,6 +2511,7 @@ struct virQEMUCapsCommandLineProps {
|
|||||||
|
|
||||||
static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
|
static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
|
||||||
{ "machine", "mem-merge", QEMU_CAPS_MEM_MERGE },
|
{ "machine", "mem-merge", QEMU_CAPS_MEM_MERGE },
|
||||||
|
{ "machine", "vmport", QEMU_CAPS_MACHINE_VMPORT_OPT },
|
||||||
{ "drive", "discard", QEMU_CAPS_DRIVE_DISCARD },
|
{ "drive", "discard", QEMU_CAPS_DRIVE_DISCARD },
|
||||||
{ "realtime", "mlock", QEMU_CAPS_MLOCK },
|
{ "realtime", "mlock", QEMU_CAPS_MLOCK },
|
||||||
{ "boot-opts", "strict", QEMU_CAPS_BOOT_STRICT },
|
{ "boot-opts", "strict", QEMU_CAPS_BOOT_STRICT },
|
||||||
@ -3255,6 +3258,10 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps,
|
|||||||
if (qemuCaps->version >= 1006000)
|
if (qemuCaps->version >= 1006000)
|
||||||
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
|
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
|
||||||
|
|
||||||
|
/* vmport option is supported v2.2.0 onwards */
|
||||||
|
if (qemuCaps->version >= 2002000)
|
||||||
|
virQEMUCapsSet(qemuCaps, QEMU_CAPS_MACHINE_VMPORT_OPT);
|
||||||
|
|
||||||
if (virQEMUCapsProbeQMPCommands(qemuCaps, mon) < 0)
|
if (virQEMUCapsProbeQMPCommands(qemuCaps, mon) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0)
|
if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0)
|
||||||
|
@ -224,6 +224,7 @@ typedef enum {
|
|||||||
QEMU_CAPS_QXL_VGAMEM = 182, /* -device qxl.vgamem_mb */
|
QEMU_CAPS_QXL_VGAMEM = 182, /* -device qxl.vgamem_mb */
|
||||||
QEMU_CAPS_QXL_VGA_VGAMEM = 183, /* -device qxl-vga.vgamem_mb */
|
QEMU_CAPS_QXL_VGA_VGAMEM = 183, /* -device qxl-vga.vgamem_mb */
|
||||||
QEMU_CAPS_DEVICE_PC_DIMM = 184, /* pc-dimm device */
|
QEMU_CAPS_DEVICE_PC_DIMM = 184, /* pc-dimm device */
|
||||||
|
QEMU_CAPS_MACHINE_VMPORT_OPT = 185, /* -machine xxx,vmport=on/off/auto */
|
||||||
|
|
||||||
QEMU_CAPS_LAST, /* this must always be the last item */
|
QEMU_CAPS_LAST, /* this must always be the last item */
|
||||||
} virQEMUCapsFlags;
|
} virQEMUCapsFlags;
|
||||||
|
Loading…
Reference in New Issue
Block a user