From patchwork Thu Nov 26 13:23:19 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 39519 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 2E08D1007D1 for ; Fri, 27 Nov 2009 00:58:59 +1100 (EST) Received: from localhost ([127.0.0.1]:38783 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDes4-0004M0-Gi for incoming@patchwork.ozlabs.org; Thu, 26 Nov 2009 08:58:56 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NDeJq-00018a-Vc for qemu-devel@nongnu.org; Thu, 26 Nov 2009 08:23:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NDeJh-00010m-Uv for qemu-devel@nongnu.org; Thu, 26 Nov 2009 08:23:31 -0500 Received: from [199.232.76.173] (port=42024 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDeJf-0000zc-HR for qemu-devel@nongnu.org; Thu, 26 Nov 2009 08:23:23 -0500 Received: from cantor.suse.de ([195.135.220.2]:35925 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 1NDeJe-0007a8-Mx for qemu-devel@nongnu.org; Thu, 26 Nov 2009 08:23:23 -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 4A7E793717; Thu, 26 Nov 2009 14:23:21 +0100 (CET) From: Alexander Graf To: qemu-devel@nongnu.org Date: Thu, 26 Nov 2009 14:23:19 +0100 Message-Id: <1259241800-2810-11-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1259241800-2810-1-git-send-email-agraf@suse.de> References: <1259241800-2810-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 ee43808..8703910 100644 --- a/vl.c +++ b/vl.c @@ -4663,6 +4663,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; @@ -4676,6 +4690,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"; for (i = 1; i < MAX_MONITOR_DEVICES; i++) { @@ -5585,6 +5600,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) {