@@ -11,6 +11,8 @@
#include <linux/kernel.h>
#include <linux/console.h>
#include <linux/init.h>
+#include <linux/string.h>
+#include <xen/hvc-console.h>
extern void printch(int);
@@ -50,7 +52,14 @@ asmlinkage void early_printk(const char *fmt, ...)
static int __init setup_early_printk(char *buf)
{
- register_console(&early_console);
+ if (!buf || !strncmp(buf, "serial", 6))
+ register_console(&early_console);
+
+#ifdef CONFIG_HVC_XEN
+ if (!strncmp(buf, "xen", 3))
+ register_console(&xenboot_console);
+#endif
+
return 0;
}