aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-05-26 18:31:12 -0400
committerThomas Gleixner <tglx@linutronix.de>2008-05-27 04:11:36 -0400
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 6cfb708408e9..5c0635a8bffd 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1257,6 +1257,7 @@ asmlinkage void __init xen_start_kernel(void)
1257 boot_params.hdr.ramdisk_size = xen_start_info->mod_len; 1257 boot_params.hdr.ramdisk_size = xen_start_info->mod_len;
1258 1258
1259 if (!is_initial_xendomain()) { 1259 if (!is_initial_xendomain()) {
1260 add_preferred_console("xenboot", 0, NULL);
1260 add_preferred_console("tty", 0, NULL); 1261 add_preferred_console("tty", 0, NULL);
1261 add_preferred_console("hvc", 0, NULL); 1262 add_preferred_console("hvc", 0, NULL);
1262 } 1263 }
diff --git a/drivers/char/hvc_xen.c b/drivers/char/hvc_xen.c
index 2413af342a81..d5fe0a8952fa 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,
155 155
156 raw_console_write(string, len); 156 raw_console_write(string, len);
157 157
158 write_console(0, "(early) ", 8);
158 while (off < len && NULL != (pos = strchr(string+off, '\n'))) { 159 while (off < len && NULL != (pos = strchr(string+off, '\n'))) {
159 linelen = pos-string+off; 160 linelen = pos-string+off;
160 if (off + linelen > len) 161 if (off + linelen > len)