xen: make earlyprintk=xen work again
authorJeremy Fitzhardinge <jeremy@goop.org>
Mon, 26 May 2008 22:31:12 +0000 (23:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 27 May 2008 08:11:36 +0000 (10:11 +0200)
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>
arch/x86/xen/enlighten.c
drivers/char/hvc_xen.c

index 6cfb708408e950412f6c9c3ebbb82e0d3f60bcc9..5c0635a8bffdc7a87069d13cc1e75b608a9c1752 100644 (file)
@@ -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);
        }
index 2413af342a81e18c269945acf72a27120c526d3a..d5fe0a8952faeb52f5f0acf5daf40eba0fa1632f 100644 (file)
@@ -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)