diff options
author | Jeremy Fitzhardinge <jeremy@xensource.com> | 2007-07-18 03:37:06 +0200 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy@goop.org> | 2007-07-18 17:47:44 +0200 |
commit | b536b4b9623084d86f2b1f19cb44a2d6d74f00bf (patch) | |
tree | 86c1981309dbd8b9bf120d4ddba50abd105af89a /arch | |
parent | xen: hack to prevent bad segment register reload (diff) | |
download | linux-b536b4b9623084d86f2b1f19cb44a2d6d74f00bf.tar.xz linux-b536b4b9623084d86f2b1f19cb44a2d6d74f00bf.zip |
xen: use the hvc console infrastructure for Xen console
Implement a Xen back-end for hvc console.
* * *
Add early printk support via hvc console, enable using
"earlyprintk=xen" on the kernel command line.
From: Gerd Hoffmann <kraxel@suse.de>
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/xen/events.c | 3 | ||||
-rw-r--r-- | arch/x86_64/kernel/early_printk.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/arch/i386/xen/events.c b/arch/i386/xen/events.c index 4103b8bf22fd..8904acc20f8c 100644 --- a/arch/i386/xen/events.c +++ b/arch/i386/xen/events.c @@ -244,7 +244,7 @@ static int find_unbound_irq(void) return irq; } -static int bind_evtchn_to_irq(unsigned int evtchn) +int bind_evtchn_to_irq(unsigned int evtchn) { int irq; @@ -269,6 +269,7 @@ static int bind_evtchn_to_irq(unsigned int evtchn) return irq; } +EXPORT_SYMBOL_GPL(bind_evtchn_to_irq); static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu) { diff --git a/arch/x86_64/kernel/early_printk.c b/arch/x86_64/kernel/early_printk.c index 296d2b0c5d88..fd9aff3f3890 100644 --- a/arch/x86_64/kernel/early_printk.c +++ b/arch/x86_64/kernel/early_printk.c @@ -6,6 +6,7 @@ #include <asm/io.h> #include <asm/processor.h> #include <asm/fcntl.h> +#include <xen/hvc-console.h> /* Simple VGA output */ @@ -242,6 +243,10 @@ static int __init setup_early_printk(char *buf) simnow_init(buf + 6); early_console = &simnow_console; keep_early = 1; +#ifdef CONFIG_HVC_XEN + } else if (!strncmp(buf, "xen", 3)) { + early_console = &xenboot_console; +#endif } if (keep_early) |