aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-05-26 23:31:12 +0100
committerThomas Gleixner <tglx@linutronix.de>2008-05-27 10:11:36 +0200
commit83abc70a4c6e306f4c1672e25884322f797e4fcb (patch)
tree9e1461cfe175187e1e22a20a73042621949cf6bf
parente4dcff1f6e7582f76c2c9990b1d9111bbc8e26ef (diff)
xen: make earlyprintk=xen work again
For some perverse reason, if you call add_preferred_console() it prevents setup_early_printk() from successfully enabling the boot console - unless you make it a preferred console too... Also, make xenboot console output distinct from normal console output, since it gets repeated when the console handover happens, and the duplicated output is confusing without disambiguation. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Markus Armbruster <armbru@redhat.com> Cc: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--arch/x86/xen/enlighten.c1
-rw-r--r--drivers/char/hvc_xen.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 6cfb708408e..5c0635a8bff 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1257,6 +1257,7 @@ asmlinkage void __init xen_start_kernel(void)
boot_params.hdr.ramdisk_size = xen_start_info->mod_len;
if (!is_initial_xendomain()) {
+ add_preferred_console("xenboot", 0, NULL);
add_preferred_console("tty", 0, NULL);
add_preferred_console("hvc", 0, NULL);
}
diff --git a/drivers/char/hvc_xen.c b/drivers/char/hvc_xen.c
index 2413af342a8..d5fe0a8952f 100644
--- a/drivers/char/hvc_xen.c
+++ b/drivers/char/hvc_xen.c
@@ -155,6 +155,7 @@ static void xenboot_write_console(struct console *console, const char *string,
raw_console_write(string, len);
+ write_console(0, "(early) ", 8);
while (off < len && NULL != (pos = strchr(string+off, '\n'))) {
linelen = pos-string+off;
if (off + linelen > len)