[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [FOR 0.12 PATCH v4 22/22] Set default console to virtio
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [FOR 0.12 PATCH v4 22/22] Set default console to virtio on S390x |
Date: |
Thu, 10 Dec 2009 09:36:52 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Gerd Hoffmann <address@hidden> writes:
> All "normal" system emulation targets in qemu I'm aware of display
> output on either VGA or serial output.
>
> Our S390x virtio machine doesn't have such kind of legacy hardware. So
> instead we need to default to a virtio console.
>
> Add flags to QEMUMachine to indicate which kind of default devices make
> sense for the machine in question. Use it for S390x: enable virtcon,
> disable serial, parallel and vga.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> hw/boards.h | 4 ++++
> hw/s390-virtio.c | 4 ++++
> vl.c | 19 ++++++++++++++++++-
> 3 files changed, 26 insertions(+), 1 deletions(-)
>
> diff --git a/hw/boards.h b/hw/boards.h
> index 7a0f20f..8fe0fbc 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;
Funny indentation.
> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
> index cc21ee6..51c032a 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 b4138be..d028931 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");
> }
The other default devices could use per-machine suppression, too, but
that can be left for another day.
- [Qemu-devel] [FOR 0.12 PATCH v4 10/22] default devices: parallel port., (continued)
- [Qemu-devel] [FOR 0.12 PATCH v4 10/22] default devices: parallel port., Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 12/22] zap serial_monitor_mux, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 11/22] default devices: qemu monitor., Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 13/22] default devices: vga adapter., Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 17/22] un-static qemu_chr_parse_compat(), Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 19/22] add new -mon switch, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 15/22] default devices: network, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 21/22] default devices: virtio consoles., Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 22/22] Set default console to virtio on S390x, Gerd Hoffmann, 2009/12/08
- Re: [Qemu-devel] [FOR 0.12 PATCH v4 22/22] Set default console to virtio on S390x,
Markus Armbruster <=
- [Qemu-devel] [FOR 0.12 PATCH v4 20/22] add -qmp convinience switch, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 16/22] default devices: drives, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] [FOR 0.12 PATCH v4 18/22] rework -monitor handling, switch to QemuOpts, Gerd Hoffmann, 2009/12/08
- [Qemu-devel] Re: [FOR 0.12 PATCH v4 01/22] default devices: qdev integration., Luiz Capitulino, 2009/12/08
- Re: [Qemu-devel] [FOR 0.12 PATCH v4 01/22] default devices: qdev integration., Markus Armbruster, 2009/12/10