From patchwork Sat Dec 5 11:44:30 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 40394 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 234C3B7BEB for ; Sat, 5 Dec 2009 23:02:49 +1100 (EST) Received: from localhost ([127.0.0.1]:56410 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NGtLa-0005th-0K for incoming@patchwork.ozlabs.org; Sat, 05 Dec 2009 07:02:46 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NGt49-0004Ag-07 for qemu-devel@nongnu.org; Sat, 05 Dec 2009 06:44:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NGt41-00045j-2c for qemu-devel@nongnu.org; Sat, 05 Dec 2009 06:44:42 -0500 Received: from [199.232.76.173] (port=49822 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NGt3z-000458-BF for qemu-devel@nongnu.org; Sat, 05 Dec 2009 06:44:36 -0500 Received: from cantor.suse.de ([195.135.220.2]:59405 helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NGt3y-0008GI-Ba for qemu-devel@nongnu.org; Sat, 05 Dec 2009 06:44:34 -0500 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.221.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 6251293A00; Sat, 5 Dec 2009 12:44:32 +0100 (CET) From: Alexander Graf To: qemu-devel@nongnu.org Date: Sat, 5 Dec 2009 12:44:30 +0100 Message-Id: <1260013471-18691-11-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1260013471-18691-1-git-send-email-agraf@suse.de> References: <1260013471-18691-1-git-send-email-agraf@suse.de> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 Cc: Carsten Otte , Aurelien Jarno Subject: [Qemu-devel] [PATCH 10/11] Set default console to virtio on S390x X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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. I'm not particularly proud of this patch. It would be a lot better to have something in the machine description that tells us about the default terminal. Signed-off-by: Alexander Graf --- vl.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index 1981e6e..09a0ec5 100644 --- a/vl.c +++ b/vl.c @@ -4711,6 +4711,20 @@ int main(int argc, char **argv, char **envp) cyls = heads = secs = 0; translation = BIOS_ATA_TRANSLATION_AUTO; +#ifdef TARGET_S390X + for(i = 0; i < MAX_SERIAL_PORTS; i++) + serial_devices[i] = NULL; + serial_device_index = 0; + + for(i = 0; i < MAX_PARALLEL_PORTS; i++) + parallel_devices[i] = NULL; + parallel_device_index = 0; + + virtio_consoles[0] = "mon:stdio"; + for(i = 1; i < MAX_VIRTIO_CONSOLES; i++) + virtio_consoles[i] = NULL; + virtio_console_index = 0; +#else serial_devices[0] = "vc:80Cx24C"; for(i = 1; i < MAX_SERIAL_PORTS; i++) serial_devices[i] = NULL; @@ -4724,6 +4738,7 @@ int main(int argc, char **argv, char **envp) for(i = 0; i < MAX_VIRTIO_CONSOLES; i++) virtio_consoles[i] = NULL; virtio_console_index = 0; +#endif monitor_devices[0] = "vc:80Cx24C"; monitor_flags[0] = MONITOR_IS_DEFAULT | MONITOR_USE_READLINE; @@ -5640,6 +5655,17 @@ int main(int argc, char **argv, char **envp) break; } } + for (i = 0; i < MAX_VIRTIO_CONSOLES; i++) { + const char *devname = virtio_consoles[i]; + if (devname && !strcmp(devname,"mon:stdio")) { + monitor_devices[0] = NULL; + break; + } else if (devname && !strcmp(devname,"stdio")) { + monitor_devices[0] = NULL; + virtio_consoles[i] = "mon:stdio"; + break; + } + } } if (nb_numa_nodes > 0) {