From patchwork Wed Oct 21 09:25:05 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 36515 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 5999BB7B8F for ; Wed, 21 Oct 2009 20:50:15 +1100 (EST) Received: from localhost ([127.0.0.1]:55938 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0Xpb-0003lp-OM for incoming@patchwork.ozlabs.org; Wed, 21 Oct 2009 05:50:11 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N0XRY-0003VH-9t for qemu-devel@nongnu.org; Wed, 21 Oct 2009 05:25:20 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N0XRO-0003Qd-Kx for qemu-devel@nongnu.org; Wed, 21 Oct 2009 05:25:16 -0400 Received: from [199.232.76.173] (port=55467 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0XRN-0003Q9-Sx for qemu-devel@nongnu.org; Wed, 21 Oct 2009 05:25:09 -0400 Received: from cantor.suse.de ([195.135.220.2]:43714 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 1N0XRM-0000vP-Mz for qemu-devel@nongnu.org; Wed, 21 Oct 2009 05:25:09 -0400 Received: from relay2.suse.de (relay-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 316AF93F46; Wed, 21 Oct 2009 11:25:07 +0200 (CEST) From: Alexander Graf To: qemu-devel Date: Wed, 21 Oct 2009 11:25:05 +0200 Message-Id: <1256117106-9475-9-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.6.0.2 In-Reply-To: <1256117106-9475-8-git-send-email-agraf@suse.de> References: <1256117106-9475-1-git-send-email-agraf@suse.de> <1256117106-9475-2-git-send-email-agraf@suse.de> <1256117106-9475-3-git-send-email-agraf@suse.de> <1256117106-9475-4-git-send-email-agraf@suse.de> <1256117106-9475-5-git-send-email-agraf@suse.de> <1256117106-9475-6-git-send-email-agraf@suse.de> <1256117106-9475-7-git-send-email-agraf@suse.de> <1256117106-9475-8-git-send-email-agraf@suse.de> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 Cc: Carsten Otte Subject: [Qemu-devel] [PATCH 8/9] 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 eb2744e..e7f1504 100644 --- a/vl.c +++ b/vl.c @@ -4818,6 +4818,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; @@ -4831,6 +4845,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++) { @@ -5709,6 +5724,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) {