]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: probe for -chardev 'fd' parameter for FD passing
authorDaniel P. Berrangé <berrange@redhat.com>
Wed, 14 Mar 2018 10:34:37 +0000 (10:34 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 5 Jun 2018 16:16:47 +0000 (17:16 +0100)
QEMU >= 2.12 will support passing of pre-opened file descriptors for
socket based character devices.

Reviewed-by: John Ferlan <jferlan@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml

index 26969ed3dcad4b58c22e4d835acd4abff09507e9..a0ad7f03365a5c26f8fbad05e2825eb8d938b08d 100644 (file)
@@ -493,6 +493,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
 
               /* 305 */
               "vhost-vsock",
+              "chardev-fd-pass",
     );
 
 
@@ -2570,6 +2571,7 @@ static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
     { "chardev", "reconnect", QEMU_CAPS_CHARDEV_RECONNECT },
     { "sandbox", "enable", QEMU_CAPS_SECCOMP_SANDBOX },
     { "sandbox", "elevateprivileges", QEMU_CAPS_SECCOMP_BLACKLIST },
+    { "chardev", "fd", QEMU_CAPS_CHARDEV_FD_PASS },
 };
 
 static int
index f2aecefb9b72d9d37c2aa944888d3d85d4f80993..f60dfb1bee63822bfa80d298ba4ae3f30b71e7cb 100644 (file)
@@ -477,6 +477,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
 
     /* 305 */
     QEMU_CAPS_DEVICE_VHOST_VSOCK, /* -device vhost-vsock-* */
+    QEMU_CAPS_CHARDEV_FD_PASS, /* Passing pre-opened FDs for chardevs */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
index f511bcb58cca783e14d66ae3d1bfc1277a8393f5..7628e68ad5e8476fbecf703880a4d72f311a7372 100644 (file)
   <flag name='hda-output'/>
   <flag name='blockdev-del'/>
   <flag name='vhost-vsock'/>
+  <flag name='chardev-fd-pass'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>343099</microcodeVersion>
index 37813ad0b1de6004a041a656619b726d555cd99f..21d609266d6e2cbf9f1e1733f1334e00b93d57e5 100644 (file)
   <flag name='hda-output'/>
   <flag name='blockdev-del'/>
   <flag name='vhost-vsock'/>
+  <flag name='chardev-fd-pass'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>419968</microcodeVersion>
index 3191e9ba9559fc7b0e08196cb018a36d6866647a..a49043506ec784772faaf7342f57c1260a06f0c1 100644 (file)
   <flag name='screendump_device'/>
   <flag name='blockdev-del'/>
   <flag name='vhost-vsock'/>
+  <flag name='chardev-fd-pass'/>
   <version>2012000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>371055</microcodeVersion>
index 964b9e8fa6b94d8248ecf57274dac07accbf0377..038c92c86b922c7c99cffbf7ed7606459b40f1e2 100644 (file)
   <flag name='blockdev-del'/>
   <flag name='vmgenid'/>
   <flag name='vhost-vsock'/>
+  <flag name='chardev-fd-pass'/>
   <version>2011090</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>390813</microcodeVersion>