git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
[pandora-kernel.git]
/
arch
/
sparc64
/
kernel
/
setup.c
diff --git
a/arch/sparc64/kernel/setup.c
b/arch/sparc64/kernel/setup.c
index
7d0e67c
..
116d963
100644
(file)
--- a/
arch/sparc64/kernel/setup.c
+++ b/
arch/sparc64/kernel/setup.c
@@
-220,7
+220,7
@@
char reboot_command[COMMAND_LINE_SIZE];
static struct pt_regs fake_swapper_regs = { { 0, }, 0, 0, 0, 0 };
static struct pt_regs fake_swapper_regs = { { 0, }, 0, 0, 0, 0 };
-
static
void __init per_cpu_patch(void)
+void __init per_cpu_patch(void)
{
struct cpuid_patch_entry *p;
unsigned long ver;
{
struct cpuid_patch_entry *p;
unsigned long ver;
@@
-280,7
+280,7
@@
static void __init per_cpu_patch(void)
}
}
}
}
-
static
void __init sun4v_patch(void)
+void __init sun4v_patch(void)
{
struct sun4v_1insn_patch_entry *p1;
struct sun4v_2insn_patch_entry *p2;
{
struct sun4v_1insn_patch_entry *p1;
struct sun4v_2insn_patch_entry *p2;
@@
-315,6
+315,15
@@
static void __init sun4v_patch(void)
}
}
}
}
+#ifdef CONFIG_SMP
+void __init boot_cpu_id_too_large(int cpu)
+{
+ prom_printf("Serious problem, boot cpu id (%d) >= NR_CPUS (%d)\n",
+ cpu, NR_CPUS);
+ prom_halt();
+}
+#endif
+
void __init setup_arch(char **cmdline_p)
{
/* Initialize PROM console and command line. */
void __init setup_arch(char **cmdline_p)
{
/* Initialize PROM console and command line. */
@@
-332,16
+341,6
@@
void __init setup_arch(char **cmdline_p)
conswitchp = &prom_con;
#endif
conswitchp = &prom_con;
#endif
- /* Work out if we are starfire early on */
- check_if_starfire();
-
- /* Now we know enough to patch the get_cpuid sequences
- * used by trap code.
- */
- per_cpu_patch();
-
- sun4v_patch();
-
boot_flags_init(*cmdline_p);
idprom_init();
boot_flags_init(*cmdline_p);
idprom_init();
@@
-377,12
+376,12
@@
void __init setup_arch(char **cmdline_p)
}
#endif
}
#endif
- smp_setup_cpu_possible_map();
-
/* Get boot processor trap_block[] setup. */
init_cur_cpu_trap(current_thread_info());
paging_init();
/* Get boot processor trap_block[] setup. */
init_cur_cpu_trap(current_thread_info());
paging_init();
+
+ smp_setup_cpu_possible_map();
}
static int __init set_preferred_console(void)
}
static int __init set_preferred_console(void)
@@
-535,10
+534,10
@@
static int __init topology_init(void)
while (!cpu_find_by_instance(ncpus_probed, NULL, NULL))
ncpus_probed++;
while (!cpu_find_by_instance(ncpus_probed, NULL, NULL))
ncpus_probed++;
- for_each_cpu(i) {
+ for_each_
possible_
cpu(i) {
struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
if (p) {
struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
if (p) {
- register_cpu(p, i
, NULL
);
+ register_cpu(p, i);
err = 0;
}
}
err = 0;
}
}