diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 16:44:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-29 16:44:45 -0400 |
commit | 8d231c11fd0b694c447e59e687754b6999eea0a2 (patch) | |
tree | b0b3c17efff7018bbf948e489f642c8079f33cc0 /arch/mips/sgi-ip27 | |
parent | 1f1332f727c3229eb2166a83fec5d3de6a73dce2 (diff) | |
parent | 8db089c6b5594c961fb6bc6d613b9926e0d3d98f (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (33 commits)
[MIPS] Add missing backslashes to macro definitions.
[MIPS] Death list of board support to be removed after 2.6.18.
[MIPS] Remove BSD and Sys V compat data types.
[MIPS] ioc3.h: Uses u8, so include <linux/types.h>.
[MIPS] 74K: Assume it will also have an AR bit in config7
[MIPS] Treat CPUs with AR bit as physically indexed.
[MIPS] Oprofile: Support VSMP on 34K.
[MIPS] MIPS32/MIPS64 S-cache fix and cleanup
[MIPS] excite: PCI makefile needs to use += if it wants a chance to work.
[MIPS] excite: plat_setup -> plat_mem_setup.
[MIPS] au1xxx: export dbdma functions
[MIPS] au1xxx: dbdma, no sleeping under spin_lock
[MIPS] au1xxx: fix PSC_SMBTXRX_RSR.
[MIPS] Early printk for IP27.
[MIPS] Fix handling of 0 length I & D caches.
[MIPS] Typo fixes.
[MIPS] MIPS32/MIPS64 secondary cache management
[MIPS] Fix FIXADDR_TOP for TX39/TX49.
[MIPS] Remove first timer interrupt setup in wrppmc_timer_setup()
[MIPS] Fix configuration of R2 CPU features and multithreading.
...
Diffstat (limited to 'arch/mips/sgi-ip27')
-rw-r--r-- | arch/mips/sgi-ip27/Kconfig | 3 | ||||
-rw-r--r-- | arch/mips/sgi-ip27/Makefile | 11 | ||||
-rw-r--r-- | arch/mips/sgi-ip27/ip27-console.c | 40 |
3 files changed, 26 insertions, 28 deletions
diff --git a/arch/mips/sgi-ip27/Kconfig b/arch/mips/sgi-ip27/Kconfig index f14ef38646d0..5e960ae9735a 100644 --- a/arch/mips/sgi-ip27/Kconfig +++ b/arch/mips/sgi-ip27/Kconfig | |||
@@ -33,12 +33,13 @@ config MAPPED_KERNEL | |||
33 | depends on SGI_IP27 | 33 | depends on SGI_IP27 |
34 | help | 34 | help |
35 | Change the way a Linux kernel is loaded into memory on a MIPS64 | 35 | Change the way a Linux kernel is loaded into memory on a MIPS64 |
36 | machine. This is required in order to support text replication and | 36 | machine. This is required in order to support text replication on |
37 | NUMA. If you need to understand it, read the source code. | 37 | NUMA. If you need to understand it, read the source code. |
38 | 38 | ||
39 | config REPLICATE_KTEXT | 39 | config REPLICATE_KTEXT |
40 | bool "Kernel text replication support" | 40 | bool "Kernel text replication support" |
41 | depends on SGI_IP27 | 41 | depends on SGI_IP27 |
42 | select MAPPED_KERNEL | ||
42 | help | 43 | help |
43 | Say Y here to enable replicating the kernel text across multiple | 44 | Say Y here to enable replicating the kernel text across multiple |
44 | nodes in a NUMA cluster. This trades memory for speed. | 45 | nodes in a NUMA cluster. This trades memory for speed. |
diff --git a/arch/mips/sgi-ip27/Makefile b/arch/mips/sgi-ip27/Makefile index 686ba14e2882..a457263f4391 100644 --- a/arch/mips/sgi-ip27/Makefile +++ b/arch/mips/sgi-ip27/Makefile | |||
@@ -2,11 +2,12 @@ | |||
2 | # Makefile for the IP27 specific kernel interface routines under Linux. | 2 | # Makefile for the IP27 specific kernel interface routines under Linux. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := ip27-berr.o ip27-console.o ip27-irq.o ip27-init.o \ | 5 | obj-y := ip27-berr.o ip27-irq.o ip27-init.o ip27-klconfig.o ip27-klnuma.o \ |
6 | ip27-klconfig.o ip27-klnuma.o ip27-memory.o ip27-nmi.o ip27-reset.o \ | 6 | ip27-memory.o ip27-nmi.o ip27-reset.o ip27-timer.o ip27-hubio.o \ |
7 | ip27-timer.o ip27-hubio.o ip27-xtalk.o | 7 | ip27-xtalk.o |
8 | 8 | ||
9 | obj-$(CONFIG_KGDB) += ip27-dbgio.o | 9 | obj-$(CONFIG_EARLY_PRINTK) += ip27-console.o |
10 | obj-$(CONFIG_SMP) += ip27-smp.o | 10 | obj-$(CONFIG_KGDB) += ip27-dbgio.o |
11 | obj-$(CONFIG_SMP) += ip27-smp.o | ||
11 | 12 | ||
12 | EXTRA_AFLAGS := $(CFLAGS) | 13 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/sgi-ip27/ip27-console.c b/arch/mips/sgi-ip27/ip27-console.c index 3e1ac299b804..14211e382374 100644 --- a/arch/mips/sgi-ip27/ip27-console.c +++ b/arch/mips/sgi-ip27/ip27-console.c | |||
@@ -46,33 +46,29 @@ void prom_putchar(char c) | |||
46 | uart->iu_thr = c; | 46 | uart->iu_thr = c; |
47 | } | 47 | } |
48 | 48 | ||
49 | char __init prom_getchar(void) | 49 | static void ioc3_console_write(struct console *con, const char *s, unsigned n) |
50 | { | 50 | { |
51 | return 0; | 51 | while (n-- && *s) { |
52 | if (*s == '\n') | ||
53 | prom_putchar('\r'); | ||
54 | prom_putchar(*s); | ||
55 | s++; | ||
56 | } | ||
52 | } | 57 | } |
53 | 58 | ||
54 | static void inline ioc3_console_probe(void) | 59 | static struct console ioc3_console = { |
55 | { | 60 | .name = "ioc3", |
56 | struct uart_port up; | 61 | .write = ioc3_console_write, |
57 | 62 | .flags = CON_PRINTBUFFER | CON_BOOT, | |
58 | /* | 63 | .index = -1 |
59 | * Register to interrupt zero because we share the interrupt with | 64 | }; |
60 | * the serial driver which we don't properly support yet. | ||
61 | */ | ||
62 | memset(&up, 0, sizeof(up)); | ||
63 | up.membase = (unsigned char *) console_uart(); | ||
64 | up.irq = 0; | ||
65 | up.uartclk = IOC3_CLK; | ||
66 | up.regshift = 0; | ||
67 | up.iotype = UPIO_MEM; | ||
68 | up.flags = IOC3_FLAGS; | ||
69 | up.line = 0; | ||
70 | 65 | ||
71 | if (early_serial_setup(&up)) | 66 | __init void ip27_setup_console(void) |
72 | printk(KERN_ERR "Early serial init of port 0 failed\n"); | 67 | { |
68 | register_console(&ioc3_console); | ||
73 | } | 69 | } |
74 | 70 | ||
75 | __init void ip27_setup_console(void) | 71 | void __init disable_early_printk(void) |
76 | { | 72 | { |
77 | ioc3_console_probe(); | 73 | unregister_console(&ioc3_console); |
78 | } | 74 | } |