aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/boards.h4
-rw-r--r--hw/s390-virtio.c4
-rw-r--r--vl.c19
3 files changed, 26 insertions, 1 deletions
diff --git a/hw/boards.h b/hw/boards.h
index 7a0f20f63b..8fe0fbc8fc 100644
--- a/hw/boards.h
+++ b/hw/boards.h
@@ -19,6 +19,10 @@ typedef struct QEMUMachine {
QEMUMachineInitFunc *init;
int use_scsi;
int max_cpus;
+ int no_serial:1,
+ no_parallel:1,
+ use_virtcon:1,
+ no_vga:1;
int is_default;
GlobalProperty *compat_props;
struct QEMUMachine *next;
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index cc21ee6dae..51c032adc2 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -243,6 +243,10 @@ static QEMUMachine s390_machine = {
.alias = "s390",
.desc = "VirtIO based S390 machine",
.init = s390_init,
+ .no_serial = 1,
+ .no_parallel = 1,
+ .use_virtcon = 1.
+ .no_vga = 1,
.max_cpus = 255,
.is_default = 1,
};
diff --git a/vl.c b/vl.c
index b4138be0e4..d02893173c 100644
--- a/vl.c
+++ b/vl.c
@@ -270,7 +270,7 @@ static void *boot_set_opaque;
static int default_serial = 1;
static int default_parallel = 1;
-static int default_virtcon = 0;
+static int default_virtcon = 1;
static int default_monitor = 1;
static int default_vga = 1;
static int default_drive = 1;
@@ -5629,14 +5629,31 @@ int main(int argc, char **argv, char **envp)
qemu_opts_foreach(&qemu_device_opts, default_driver_check, NULL, 0);
+ if (machine->no_serial) {
+ default_serial = 0;
+ }
+ if (machine->no_parallel) {
+ default_parallel = 0;
+ }
+ if (!machine->use_virtcon) {
+ default_virtcon = 0;
+ }
+ if (machine->no_vga) {
+ default_vga = 0;
+ }
+
if (display_type == DT_NOGRAPHIC) {
if (default_parallel)
add_device_config(DEV_PARALLEL, "null");
if (default_serial && default_monitor) {
add_device_config(DEV_SERIAL, "mon:stdio");
+ } else if (default_virtcon && default_monitor) {
+ add_device_config(DEV_VIRTCON, "mon:stdio");
} else {
if (default_serial)
add_device_config(DEV_SERIAL, "stdio");
+ if (default_virtcon)
+ add_device_config(DEV_VIRTCON, "stdio");
if (default_monitor)
monitor_parse("stdio", "readline");
}