From: Jes Sorensen <jes.soren...@redhat.com> This patch introduces a -display argument which consolidates the setting of the display mode. Valid options are: sdl/curses/default/nographic
Signed-off-by: Jes Sorensen <jes.soren...@redhat.com> --- qemu-options.hx | 28 ++++++++++++++++++++++++++++ vl.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index badb730..f14ff02 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -590,6 +590,34 @@ STEXI @table @option ETEXI +DEF("display", HAS_ARG, QEMU_OPTION_display, + "-display [default|sdl|curses|nographic|none]\n" + " select display type\n", QEMU_ARCH_ALL) +STEXI +@item -display @var{type} +@findex -display +Select type of display to use. This option is a replacement for the +old style -sdl/-curses/... options. Valid values for @var{type} are +@table @option +@item default +Pick the default display option. This will depend on how QEMU was +configured. (This one is the default) +@item sdl +Pick the SDL display option. +@item curses +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 nographic +Normally, QEMU uses SDL to display the VGA output. With this option, +you can totally disable graphical output so that QEMU is a simple +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. +@end table +ETEXI + DEF("nographic", 0, QEMU_OPTION_nographic, "-nographic disable graphical output and redirect serial I/Os to console\n", QEMU_ARCH_ALL) diff --git a/vl.c b/vl.c index 5e007a7..e797e61 100644 --- a/vl.c +++ b/vl.c @@ -1554,6 +1554,37 @@ static void select_vgahw (const char *p) } } +static DisplayType select_display(const char *p) +{ + const char *opts; + DisplayType display = DT_DEFAULT; + + if (strstart(p, "default", &opts)) { + display = DT_DEFAULT; + } else if (strstart(p, "sdl", &opts)) { +#ifdef CONFIG_SDL + display = DT_SDL; +#else + fprintf(stderr, "SDL support is disabled\n"); + exit(1); +#endif + } else if (strstart(p, "curses", &opts)) { +#ifdef CONFIG_CURSES + display = DT_CURSES; +#else + fprintf(stderr, "Curses support is disabled\n"); + exit(1); +#endif + } else if (strstart(p, "nographic", &opts)) { + display = DT_NOGRAPHIC; + } else { + fprintf(stderr, "Unknown display type: %s\n", p); + exit(1); + } + + return display; +} + static int balloon_parse(const char *arg) { QemuOpts *opts; @@ -2152,6 +2183,9 @@ int main(int argc, char **argv, char **envp) } numa_add(optarg); break; + case QEMU_OPTION_display: + display_type = select_display(optarg); + break; case QEMU_OPTION_nographic: display_type = DT_NOGRAPHIC; break; -- 1.7.4