Patchwork [3/7] Introduce -display none

login
register
mail settings
Submitter Jes Sorensen
Date March 16, 2011, 12:33 p.m.
Message ID <1300278816-29513-4-git-send-email-Jes.Sorensen@redhat.com>
Download mbox | patch
Permalink /patch/87256/
State New
Headers show

Comments

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

New option -display none. This option differs from -nographic by not
trying to take control of stdio etc. but instead behaves as if a
graphics display is enabled, except that it doesn't show one.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 qemu-options.hx |    8 +++++++-
 sysemu.h        |    1 +
 vl.c            |    2 ++
 3 files changed, 10 insertions(+), 1 deletions(-)

Patch

diff --git a/qemu-options.hx b/qemu-options.hx
index a3191e6..08a99b5 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -592,7 +592,7 @@  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\n"
+    "            [,window_close=on|off]|curses|none\n"
     "                select display type\n", QEMU_ARCH_ALL)
 STEXI
 @item -display @var{type}
@@ -609,6 +609,12 @@  support a text mode, QEMU can display this output using a
 curses/ncurses interface. Nothing is displayed when the graphics
 device is in graphical mode or if the graphics device does not support
 a text mode. Generally only the VGA device models support text mode.
+@item none
+Do not display video output. The guest will still see an emulated
+graphics card, but its output will not be displayed to the QEMU
+user. This option differs from the -nographic option in that it
+only affects what is done with video output; -nographic also changes
+the destination of the serial and parallel port data.
 @end table
 ETEXI
 
diff --git a/sysemu.h b/sysemu.h
index 0a83ab9..c43c7af 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -110,6 +110,7 @@  typedef enum DisplayType
     DT_CURSES,
     DT_SDL,
     DT_NOGRAPHIC,
+    DT_NONE,
 } DisplayType;
 
 extern int autostart;
diff --git a/vl.c b/vl.c
index 09d4d8c..0a409f4 100644
--- a/vl.c
+++ b/vl.c
@@ -1617,6 +1617,8 @@  static DisplayType select_display(const char *p)
         fprintf(stderr, "Curses support is disabled\n");
         exit(1);
 #endif
+    } else if (strstart(p, "none", &opts)) {
+        display = DT_NONE;
     } else {
     invalid_display:
         fprintf(stderr, "Unknown display type: %s\n", p);