All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon@arm.com>
To: kvm@vger.kernel.org
Cc: penberg@kernel.org, marc.zyngier@arm.com, anup@brainfault.org,
	rusty@rustcorp.com.au, pranavkumar@linaro.org,
	michael@ellerman.id.au, Marc Zyngier <Marc.Zyngier@arm.com>,
	Will Deacon <will.deacon@arm.com>
Subject: [RFC PATCH 04/11] kvm tools: console: unconditionally output to any console
Date: Wed,  1 May 2013 16:50:09 +0100	[thread overview]
Message-ID: <1367423416-24640-5-git-send-email-will.deacon@arm.com> (raw)
In-Reply-To: <1367423416-24640-1-git-send-email-will.deacon@arm.com>

From: Marc Zyngier <Marc.Zyngier@arm.com>

Kvmtool suppresses any output to a console that has not been elected
as *the* console.

While this makes sense on the input side (we want the input to be sent
to one console driver only), it seems to be the wrong thing to do on
the output side, as it effectively prevents the guest from switching
from one console to another (think earlyprintk using 8250 to virtio
console).

After all, the guest *does* poke this device and outputs something
there.

Just remove the kvm->cfg.active_console test from the output paths.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
---
 tools/kvm/hw/serial.c            | 3 +--
 tools/kvm/powerpc/spapr_hvcons.c | 5 +----
 tools/kvm/powerpc/spapr_rtas.c   | 3 +--
 tools/kvm/virtio/console.c       | 5 +----
 4 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/tools/kvm/hw/serial.c b/tools/kvm/hw/serial.c
index 53b684a..18bf569 100644
--- a/tools/kvm/hw/serial.c
+++ b/tools/kvm/hw/serial.c
@@ -100,8 +100,7 @@ static void serial8250_flush_tx(struct kvm *kvm, struct serial8250_device *dev)
 	dev->lsr |= UART_LSR_TEMT | UART_LSR_THRE;
 
 	if (dev->txcnt) {
-		if (kvm->cfg.active_console == CONSOLE_8250)
-			term_putc(dev->txbuf, dev->txcnt, dev->id);
+		term_putc(dev->txbuf, dev->txcnt, dev->id);
 		dev->txcnt = 0;
 	}
 }
diff --git a/tools/kvm/powerpc/spapr_hvcons.c b/tools/kvm/powerpc/spapr_hvcons.c
index 0bdf75b..605367b 100644
--- a/tools/kvm/powerpc/spapr_hvcons.c
+++ b/tools/kvm/powerpc/spapr_hvcons.c
@@ -50,10 +50,7 @@ static unsigned long h_put_term_char(struct kvm_cpu *vcpu, unsigned long opcode,
 	do {
 		int ret;
 
-		if (vcpu->kvm->cfg.active_console == CONSOLE_HV)
-			ret = term_putc_iov(&iov, 1, 0);
-		else
-			ret = 0;
+		ret = term_putc_iov(&iov, 1, 0);
 		if (ret < 0) {
 			die("term_putc_iov error %d!\n", errno);
 		}
diff --git a/tools/kvm/powerpc/spapr_rtas.c b/tools/kvm/powerpc/spapr_rtas.c
index c81d82b..f3c8fa3 100644
--- a/tools/kvm/powerpc/spapr_rtas.c
+++ b/tools/kvm/powerpc/spapr_rtas.c
@@ -53,8 +53,7 @@ static void rtas_put_term_char(struct kvm_cpu *vcpu,
 {
 	char c = rtas_ld(vcpu->kvm, args, 0);
 
-	if (vcpu->kvm->cfg.active_console == CONSOLE_HV)
-		term_putc(&c, 1, 0);
+	term_putc(&c, 1, 0);
 
 	rtas_st(vcpu->kvm, rets, 0, 0);
 }
diff --git a/tools/kvm/virtio/console.c b/tools/kvm/virtio/console.c
index b18d3a9..1f88a4b 100644
--- a/tools/kvm/virtio/console.c
+++ b/tools/kvm/virtio/console.c
@@ -102,10 +102,7 @@ static void virtio_console_handle_callback(struct kvm *kvm, void *param)
 
 	while (virt_queue__available(vq)) {
 		head = virt_queue__get_iov(vq, iov, &out, &in, kvm);
-		if (kvm->cfg.active_console == CONSOLE_VIRTIO)
-			len = term_putc_iov(iov, out, 0);
-		else
-			len = 0;
+		len = term_putc_iov(iov, out, 0);
 		virt_queue__set_used_elem(vq, head, len);
 	}
 
-- 
1.8.0


  parent reply	other threads:[~2013-05-01 15:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-01 15:50 [RFC PATCH 00/11] kvm tools: allow ioport emulation to be used on ARM Will Deacon
2013-05-01 15:50 ` [RFC PATCH 01/11] kvm tools: makefile: factor out libfdt inclusion Will Deacon
2013-05-01 15:50 ` [RFC PATCH 02/11] kvm tools: virtio: move fdt node generation into core mmio code Will Deacon
2013-05-01 15:50 ` [RFC PATCH 03/11] kvm tools: arm: add ioport window to virtual memory map Will Deacon
2013-05-01 15:50 ` Will Deacon [this message]
2013-05-03  9:19   ` [RFC PATCH 04/11] kvm tools: console: unconditionally output to any console Pekka Enberg
2013-05-03 16:02     ` Sasha Levin
2013-05-03 16:09       ` Will Deacon
2013-05-06 21:04         ` Sasha Levin
2013-05-07  2:48           ` Anup Patel
2013-05-05 10:16     ` Asias He
2013-05-01 15:50 ` [RFC PATCH 05/11] kvm tools: allow ioports to be offset from 0 Will Deacon
2013-05-01 15:50 ` [RFC PATCH 06/11] kvm tools: ioport: add arch callback to remap IRQ lines for ioport devices Will Deacon
2013-05-01 15:50 ` [RFC PATCH 07/11] kvm tools: ioport: allow ioport devices to generate fdt nodes Will Deacon
2013-05-01 15:50 ` [RFC PATCH 08/11] kvm tools: 8250: add fdt node generation Will Deacon
2013-05-01 15:50 ` [RFC PATCH 09/11] kvm tools: 8250: add address qualifier to uart name in fdt node Will Deacon
2013-05-01 15:50 ` [RFC PATCH 10/11] kvm tools: ARM: generate fdt nodes for ioport devices Will Deacon
2013-05-01 15:50 ` [RFC PATCH 11/11] kvm tools: ARM: add 8250 console callback to periodic poll Will Deacon
2013-05-03  6:53 ` [RFC PATCH 00/11] kvm tools: allow ioport emulation to be used on ARM Michael Ellerman
2013-05-14 15:29   ` Pekka Enberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1367423416-24640-5-git-send-email-will.deacon@arm.com \
    --to=will.deacon@arm.com \
    --cc=anup@brainfault.org \
    --cc=kvm@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=michael@ellerman.id.au \
    --cc=penberg@kernel.org \
    --cc=pranavkumar@linaro.org \
    --cc=rusty@rustcorp.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.