aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2011-07-03 09:44:48 +0200
committerAlexander Graf <agraf@suse.de>2011-07-17 01:54:25 +0200
commit25a118130fde0d20b0f5a223642849b392b2f2ee (patch)
tree131655138e2d3cd5a1794c4f4cd400596304aea4
parent0f51726adcdb620214405a88b2601d9edd059db4 (diff)
xen_console: fall back to qemu serial device
The new xen_console protocol changed the default xen_console output device from whatever Qemu chose to whatever xenstore choses and "pty" as fallback. This is not how Qemu works. It has its own serial redirection semantics. So it xenstore doesn't contain information on what to do, Qemu is the place to ask. Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/xen_console.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/hw/xen_console.c b/hw/xen_console.c
index bdb8540542..8ef104c9ac 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
@@ -196,12 +196,15 @@ static int con_init(struct XenDevice *xendev)
}
output = xenstore_read_str(con->console, "output");
- /* output is a pty by default */
+
+ /* no Xen override, use qemu output device */
if (output == NULL) {
- output = "pty";
+ con->chr = serial_hds[con->xendev.dev];
+ } else {
+ snprintf(label, sizeof(label), "xencons%d", con->xendev.dev);
+ con->chr = qemu_chr_open(label, output, NULL);
}
- snprintf(label, sizeof(label), "xencons%d", con->xendev.dev);
- con->chr = qemu_chr_open(label, output, NULL);
+
xenstore_store_pv_console_info(con->xendev.dev, con->chr);
out: