diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-08-24 18:52:32 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-08-24 18:52:32 +0000 |
commit | 4719afdba49c9d25a441fea4bbc2a6f95f007203 (patch) | |
tree | ab102b25fcf8414d62eef88430451ccf7df19526 /arch/mips64 | |
parent | 5042d277f89869080b81ba1c0cc1a7944f981a8d (diff) |
Use prom_printf() as the primary method of doing printks() for IP27.
Diffstat (limited to 'arch/mips64')
-rw-r--r-- | arch/mips64/kernel/setup.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/mips64/kernel/setup.c b/arch/mips64/kernel/setup.c index 691e88d20..54f9a4989 100644 --- a/arch/mips64/kernel/setup.c +++ b/arch/mips64/kernel/setup.c @@ -39,6 +39,8 @@ #ifdef CONFIG_SGI_IP27 /* XXX Origin garbage has no business in this file */ +#include <linux/console.h> +#include <asm/sgialib.h> #include <asm/sn/sn0/addrs.h> #endif @@ -109,6 +111,25 @@ extern char arcs_cmdline[CL_SIZE]; #ifdef CONFIG_SGI_IP27 /* XXX Origin garbage has no business in this file */ unsigned long mips_io_port_base = IO_BASE; + +static void ip27prom_console_write(struct console *con, const char *s, unsigned n) +{ + prom_printf("%s", s); +} + +static struct console ip27_prom_console = { + "prom", + ip27prom_console_write, + NULL, + NULL, + NULL, + NULL, + NULL, + CON_CONSDEV | CON_ENABLED, + -1, + 0, + NULL +}; #endif extern void ip22_setup(void); @@ -201,4 +222,7 @@ void __init setup_arch(char **cmdline_p) pgd_set(swapper_pg_dir, kpmdtbl); for (i = 0; i < (1 << KPTBL_PAGE_ORDER); pmd++,i++,pte+=PTRS_PER_PTE) pmd_val(*pmd) = (unsigned long)pte; +#ifdef CONFIG_SGI_IP27 + register_console(&ip27_prom_console); +#endif } |