From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NIeWD-0007jV-Ck for qemu-devel@nongnu.org; Thu, 10 Dec 2009 03:37:01 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NIeW8-0007fp-8O for qemu-devel@nongnu.org; Thu, 10 Dec 2009 03:37:00 -0500 Received: from [199.232.76.173] (port=54302 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NIeW8-0007fg-1n for qemu-devel@nongnu.org; Thu, 10 Dec 2009 03:36:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:11958) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NIeW7-0008Ku-Js for qemu-devel@nongnu.org; Thu, 10 Dec 2009 03:36:55 -0500 From: Markus Armbruster Subject: Re: [Qemu-devel] [FOR 0.12 PATCH v4 22/22] Set default console to virtio on S390x References: <1260274314-2906-1-git-send-email-kraxel@redhat.com> <1260274314-2906-23-git-send-email-kraxel@redhat.com> Date: Thu, 10 Dec 2009 09:36:52 +0100 In-Reply-To: <1260274314-2906-23-git-send-email-kraxel@redhat.com> (Gerd Hoffmann's message of "Tue, 8 Dec 2009 13:11:54 +0100") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: lcapitulino@redhat.com, qemu-devel@nongnu.org, agraf@suse.de Gerd Hoffmann 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 > --- > 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.