mirror of
https://github.com/mii443/qemu.git
synced 2025-12-03 11:08:25 +00:00
ui/console: allow to override the default VC
If a display is backed by a specialized VC, allow to override the default "vc:80Cx24C". As suggested by Paolo, if the display doesn't implement a VC (get_vc() returns NULL), use a fallback that will use a muxed console on stdio. This changes the behaviour of "qemu -display none", to create a muxed serial/monitor by default (on TTY & not daemonized). Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
27
system/vl.c
27
system/vl.c
@@ -1372,6 +1372,7 @@ static void qemu_setup_display(void)
|
||||
static void qemu_create_default_devices(void)
|
||||
{
|
||||
MachineClass *machine_class = MACHINE_GET_CLASS(current_machine);
|
||||
const char *vc = qemu_display_get_vc(&dpy);
|
||||
|
||||
if (is_daemonized()) {
|
||||
/* According to documentation and historically, -nographic redirects
|
||||
@@ -1390,24 +1391,30 @@ static void qemu_create_default_devices(void)
|
||||
}
|
||||
}
|
||||
|
||||
if (nographic) {
|
||||
if (default_parallel)
|
||||
if (nographic || (!vc && !is_daemonized() && isatty(STDOUT_FILENO))) {
|
||||
if (default_parallel) {
|
||||
add_device_config(DEV_PARALLEL, "null");
|
||||
}
|
||||
if (default_serial && default_monitor) {
|
||||
add_device_config(DEV_SERIAL, "mon:stdio");
|
||||
} else {
|
||||
if (default_serial)
|
||||
if (default_serial) {
|
||||
add_device_config(DEV_SERIAL, "stdio");
|
||||
if (default_monitor)
|
||||
}
|
||||
if (default_monitor) {
|
||||
monitor_parse("stdio", "readline", false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (default_serial)
|
||||
add_device_config(DEV_SERIAL, "vc:80Cx24C");
|
||||
if (default_parallel)
|
||||
add_device_config(DEV_PARALLEL, "vc:80Cx24C");
|
||||
if (default_monitor)
|
||||
monitor_parse("vc:80Cx24C", "readline", false);
|
||||
if (default_serial) {
|
||||
add_device_config(DEV_SERIAL, vc ?: "null");
|
||||
}
|
||||
if (default_parallel) {
|
||||
add_device_config(DEV_PARALLEL, vc ?: "null");
|
||||
}
|
||||
if (default_monitor && vc) {
|
||||
monitor_parse(vc, "readline", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (default_net) {
|
||||
|
||||
Reference in New Issue
Block a user