aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/setup.c')
-rw-r--r--arch/sparc64/kernel/setup.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c
index 451028341c75..de9b4c13f1c7 100644
--- a/arch/sparc64/kernel/setup.c
+++ b/arch/sparc64/kernel/setup.c
@@ -46,11 +46,17 @@
46#include <asm/sections.h> 46#include <asm/sections.h>
47#include <asm/setup.h> 47#include <asm/setup.h>
48#include <asm/mmu.h> 48#include <asm/mmu.h>
49#include <asm/ns87303.h>
49 50
50#ifdef CONFIG_IP_PNP 51#ifdef CONFIG_IP_PNP
51#include <net/ipconfig.h> 52#include <net/ipconfig.h>
52#endif 53#endif
53 54
55/* Used to synchronize accesses to NatSemi SUPER I/O chip configure
56 * operations in asm/ns87303.h
57 */
58DEFINE_SPINLOCK(ns87303_lock);
59
54struct screen_info screen_info = { 60struct screen_info screen_info = {
55 0, 0, /* orig-x, orig-y */ 61 0, 0, /* orig-x, orig-y */
56 0, /* unused */ 62 0, /* unused */
@@ -269,6 +275,7 @@ void __init per_cpu_patch(void)
269 275
270void __init sun4v_patch(void) 276void __init sun4v_patch(void)
271{ 277{
278 extern void sun4v_hvapi_init(void);
272 struct sun4v_1insn_patch_entry *p1; 279 struct sun4v_1insn_patch_entry *p1;
273 struct sun4v_2insn_patch_entry *p2; 280 struct sun4v_2insn_patch_entry *p2;
274 281
@@ -300,6 +307,8 @@ void __init sun4v_patch(void)
300 307
301 p2++; 308 p2++;
302 } 309 }
310
311 sun4v_hvapi_init();
303} 312}
304 313
305#ifdef CONFIG_SMP 314#ifdef CONFIG_SMP
@@ -367,8 +376,6 @@ void __init setup_arch(char **cmdline_p)
367 init_cur_cpu_trap(current_thread_info()); 376 init_cur_cpu_trap(current_thread_info());
368 377
369 paging_init(); 378 paging_init();
370
371 smp_setup_cpu_possible_map();
372} 379}
373 380
374static int __init set_preferred_console(void) 381static int __init set_preferred_console(void)
@@ -421,7 +428,7 @@ extern void mmu_info(struct seq_file *);
421unsigned int dcache_parity_tl1_occurred; 428unsigned int dcache_parity_tl1_occurred;
422unsigned int icache_parity_tl1_occurred; 429unsigned int icache_parity_tl1_occurred;
423 430
424static int ncpus_probed; 431int ncpus_probed;
425 432
426static int show_cpuinfo(struct seq_file *m, void *__unused) 433static int show_cpuinfo(struct seq_file *m, void *__unused)
427{ 434{
@@ -513,14 +520,6 @@ static int __init topology_init(void)
513 520
514 err = -ENOMEM; 521 err = -ENOMEM;
515 522
516 /* Count the number of physically present processors in
517 * the machine, even on uniprocessor, so that /proc/cpuinfo
518 * output is consistent with 2.4.x
519 */
520 ncpus_probed = 0;
521 while (!cpu_find_by_instance(ncpus_probed, NULL, NULL))
522 ncpus_probed++;
523
524 for_each_possible_cpu(i) { 523 for_each_possible_cpu(i) {
525 struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL); 524 struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
526 if (p) { 525 if (p) {