git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
mips
/
pmc-sierra
/
yosemite
/
prom.c
diff --git
a/arch/mips/pmc-sierra/yosemite/prom.c
b/arch/mips/pmc-sierra/yosemite/prom.c
index
5b4ef33
..
1fb3e69
100644
(file)
--- 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.
*
* 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)
* Author: Manish Lachwani (lachwani@pmc-sierra.com)
+ * Copyright (C) 2004 Ralf Baechle
*/
*/
+#include <linux/config.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/mm.h>
@@
-21,6
+23,12
@@
#include <asm/bootinfo.h>
#include <asm/pmon.h>
#include <asm/bootinfo.h>
#include <asm/pmon.h>
+#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;
#include "setup.h"
struct callvectors *debug_vectors;
@@
-35,7
+43,7
@@
const char *get_system_type(void)
static void prom_cpu0_exit(void *arg)
{
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);
/* 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;
_machine_halt = prom_halt;
_machine_power_off = prom_halt;
-#ifdef CONFIG_MIPS32
-
debug_vectors = cv;
arcs_cmdline[0] = '\0';
debug_vectors = cv;
arcs_cmdline[0] = '\0';
@@
-101,6
+107,11
@@
void __init prom_init(void)
strcat(arcs_cmdline, " ");
}
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 =
while (*env) {
if (strncmp("ocd_base", *env, strlen("ocd_base")) == 0)
yosemite_base =
@@
-114,16
+125,11
@@
void __init prom_init(void)
env++;
}
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;
mips_machgroup = MACH_GROUP_TITAN;
mips_machtype = MACH_TITAN_YOSEMITE;
+
+ prom_grab_secondary();
}
void __init prom_free_prom_memory(void)
}
void __init prom_free_prom_memory(void)