Patchwork [4/7] Add support for -display vnc

login
register
mail settings
Submitter Jes Sorensen
Date March 15, 2011, 12:36 p.m.
Message ID <1300192574-32644-5-git-send-email-Jes.Sorensen@redhat.com>
Download mbox | patch
Permalink /patch/86973/
State New
Headers show

Comments

Jes Sorensen - March 15, 2011, 12:36 p.m.
From: Jes Sorensen <Jes.Sorensen@redhat.com>

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 qemu-options.hx |    5 ++++-
 vl.c            |   14 ++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index 80506e7..e2a31bc 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -592,7 +592,8 @@  ETEXI
 
 DEF("display", HAS_ARG, QEMU_OPTION_display,
     "-display sdl[,frame=on|off][,alt_grab=on|off][,ctrl_grab=on|off]\n"
-    "            [,window_close=on|off]|curses|none|serial\n"
+    "            [,window_close=on|off]|curses|none|serial|\n"
+    "            vnc=<display>[,<optargs>]\n"
     "                select display type\n", QEMU_ARCH_ALL)
 STEXI
 @item -display @var{type}
@@ -620,6 +621,8 @@  command line application. The emulated serial port is redirected on
 the console. Therefore, you can still use QEMU to debug a Linux kernel
 with a serial console. This option is equivalent to the old -nographic
 argument.
+@item vnc
+Start a VNC server on display <arg>
 @end table
 ETEXI
 
diff --git a/vl.c b/vl.c
index d12ac96..e58958d 100644
--- a/vl.c
+++ b/vl.c
@@ -1610,6 +1610,20 @@  static DisplayType select_display(const char *p)
         fprintf(stderr, "SDL support is disabled\n");
         exit(1);
 #endif
+    } else if (strstart(p, "vnc", &opts)) {
+        display_remote++;
+
+        if (*opts) {
+            const char *nextopt;
+
+            if (strstart(opts, "=", &nextopt)) {
+                vnc_display = nextopt;
+            }
+        }
+        if (!vnc_display) {
+            fprintf(stderr, "VNC requires a display argument vnc=<display>\n");
+            exit(1);
+        }
     } else if (strstart(p, "curses", &opts)) {
 #ifdef CONFIG_CURSES
         display = DT_CURSES;