[3/7] Introduce -display none

Message ID 1300192574-32644-4-git-send-email-Jes.Sorensen@redhat.com
State New
Headers show

Commit Message

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

New option -display none. This option differs from -display 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(-)


diff --git a/qemu-options.hx b/qemu-options.hx
index f08ffb1..80506e7 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|serial\n"
+    "            [,window_close=on|off]|curses|none|serial\n"
     "                select display type\n", QEMU_ARCH_ALL)
 @item -display @var{type}
@@ -607,6 +607,12 @@  Pick the curses display option. Normally, QEMU uses SDL to display the
 VGA output.  With this option, QEMU can display the VGA output when in
 text mode using a curses/ncurses interface.  Nothing is displayed in
 graphical mode.
+@item none
+Pick the none display option. This option will still run with an
+emulated graphics card, but none will be displayed to the QEMU
+user. This options differs from the -nographic option in that QEMU
+will behave like if one of the display options had been picked, it
+will not change the control on the command line.
 @item serial
 Normally, QEMU uses SDL to display the VGA output. With this option,
 you can totally disable graphical output so that QEMU is a simple
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_NONE,
 } DisplayType;
 extern int autostart;
diff --git a/vl.c b/vl.c
index c88ee58..d12ac96 100644
--- a/vl.c
+++ b/vl.c
@@ -1619,6 +1619,8 @@  static DisplayType select_display(const char *p)
     } else if (strstart(p, "serial", &opts)) {
         display = DT_NOGRAPHIC;
+    } else if (strstart(p, "none", &opts)) {
+        display = DT_NONE;
     } else {
         fprintf(stderr, "Unknown display type: %s\n", p);