|
@@ -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) {
|