From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Evans Subject: [PATCH 13/28] kvm tools: Add CONSOLE_HV term type and allow it to be selected Date: Tue, 06 Dec 2011 14:40:37 +1100 Message-ID: <4EDD8EB5.2060802@ozlabs.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org Return-path: Received: from ozlabs.org ([203.10.76.45]:40979 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932871Ab1LFDjs (ORCPT ); Mon, 5 Dec 2011 22:39:48 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: This patch paves the way for adding a hypervisor console, useful on systems that support one out of the box yet don't have either serial port or virtio console support (e.g. kernels expecting POWER SPAPR). Signed-off-by: Matt Evans --- tools/kvm/builtin-run.c | 8 ++++++-- tools/kvm/include/kvm/term.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/kvm/builtin-run.c b/tools/kvm/builtin-run.c index a67bd8c..1257c90 100644 --- a/tools/kvm/builtin-run.c +++ b/tools/kvm/builtin-run.c @@ -416,7 +416,7 @@ static const struct option options[] = { OPT_BOOLEAN('\0', "rng", &virtio_rng, "Enable virtio Random Number Generator"), OPT_CALLBACK('\0', "9p", NULL, "dir_to_share,tag_name", "Enable virtio 9p to share files between host and guest", virtio_9p_rootdir_parser), - OPT_STRING('\0', "console", &console, "serial or virtio", + OPT_STRING('\0', "console", &console, "serial, virtio or hv", "Console to use"), OPT_STRING('\0', "dev", &dev, "device_file", "KVM device file"), OPT_CALLBACK('\0', "tty", NULL, "tty id", @@ -776,8 +776,12 @@ int kvm_cmd_run(int argc, const char **argv, const char *prefix) if (!strncmp(console, "virtio", 6)) active_console = CONSOLE_VIRTIO; - else + else if (!strncmp(console, "serial", 6)) active_console = CONSOLE_8250; + else if (!strncmp(console, "hv", 2)) + active_console = CONSOLE_HV; + else + pr_warning("No console!"); if (!host_ip) host_ip = DEFAULT_HOST_ADDR; diff --git a/tools/kvm/include/kvm/term.h b/tools/kvm/include/kvm/term.h index 938c26f..a6a9822 100644 --- a/tools/kvm/include/kvm/term.h +++ b/tools/kvm/include/kvm/term.h @@ -6,6 +6,7 @@ #define CONSOLE_8250 1 #define CONSOLE_VIRTIO 2 +#define CONSOLE_HV 3 int term_putc_iov(int who, struct iovec *iov, int iovcnt, int term); int term_getc_iov(int who, struct iovec *iov, int iovcnt, int term);