X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fpmc-sierra%2Fyosemite%2Fprom.c;h=1fb3e697948dd4084ae4105c40e8599e12417fa5;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=5b4ef33acf223750e3031f8e46086a1a2d60d74b;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/mips/pmc-sierra/yosemite/prom.c b/arch/mips/pmc-sierra/yosemite/prom.c index 5b4ef33ac..1fb3e6979 100644 --- a/arch/mips/pmc-sierra/yosemite/prom.c +++ b/arch/mips/pmc-sierra/yosemite/prom.c @@ -4,9 +4,11 @@ * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * - * Copyright (C) 2003 PMC-Sierra Inc. + * Copyright (C) 2003, 2004 PMC-Sierra Inc. * Author: Manish Lachwani (lachwani@pmc-sierra.com) + * Copyright (C) 2004 Ralf Baechle */ +#include #include #include #include @@ -21,6 +23,12 @@ #include #include +#ifdef CONFIG_SMP +extern void prom_grab_secondary(void); +#else +#define prom_grab_secondary() do { } while (0) +#endif + #include "setup.h" struct callvectors *debug_vectors; @@ -35,7 +43,7 @@ const char *get_system_type(void) static void prom_cpu0_exit(void *arg) { - void *nvram = (void *) YOSEMITE_NVRAM_BASE_ADDR; + void *nvram = (void *) YOSEMITE_RTC_BASE; /* Ask the NVRAM/RTC/watchdog chip to assert reset in 1/16 second */ writeb(0x84, nvram + 0xff7); @@ -86,8 +94,6 @@ void __init prom_init(void) _machine_halt = prom_halt; _machine_power_off = prom_halt; -#ifdef CONFIG_MIPS32 - debug_vectors = cv; arcs_cmdline[0] = '\0'; @@ -101,6 +107,11 @@ void __init prom_init(void) strcat(arcs_cmdline, " "); } +#ifdef CONFIG_SERIAL_8250_CONSOLE + if ((strstr(arcs_cmdline, "console=ttyS")) == NULL) + strcat(arcs_cmdline, "console=ttyS0,115200"); +#endif + while (*env) { if (strncmp("ocd_base", *env, strlen("ocd_base")) == 0) yosemite_base = @@ -114,16 +125,11 @@ void __init prom_init(void) env++; } -#endif /* CONFIG_MIPS32 */ - -#ifdef CONFIG_MIPS64 - - /* Do nothing for the 64-bit for now. Just implement for the 32-bit */ - -#endif /* CONFIG_MIPS64 */ mips_machgroup = MACH_GROUP_TITAN; mips_machtype = MACH_TITAN_YOSEMITE; + + prom_grab_secondary(); } void __init prom_free_prom_memory(void)