summaryrefslogtreecommitdiffstats
path: root/arch/mips64
diff options
context:
space:
mode:
authorKanoj Sarcar <kanoj@engr.sgi.com>2000-08-24 18:52:32 +0000
committerKanoj Sarcar <kanoj@engr.sgi.com>2000-08-24 18:52:32 +0000
commit4719afdba49c9d25a441fea4bbc2a6f95f007203 (patch)
treeab102b25fcf8414d62eef88430451ccf7df19526 /arch/mips64
parent5042d277f89869080b81ba1c0cc1a7944f981a8d (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.c24
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
}