aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 bdb854054..8ef104c9a 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: