diff options
author | David S. Miller <davem@hutch.davemloft.net> | 2007-06-04 21:48:33 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-06-04 21:50:05 -0700 |
commit | a2f9f6bbb30e60ee9f9f83cede960123a65876a2 (patch) | |
tree | 84388015bd5ba7c4d01fc256d8fb6a2f3d2a93a9 /arch/sparc64 | |
parent | 5cd342df96e911fb8135fb3d58f33c2c5af9ffab (diff) |
[SPARC64]: Fix {mc,smt}_capable().
It's not just sun4v hypervisor platforms that should return true
for this, sun4u with UltraSPARC-IV should return true too.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/kernel/mdesc.c | 4 | ||||
-rw-r--r-- | arch/sparc64/kernel/prom.c | 3 | ||||
-rw-r--r-- | arch/sparc64/kernel/smp.c | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/mdesc.c b/arch/sparc64/kernel/mdesc.c index 1b5db4bc6b34..f0e16045fb16 100644 --- a/arch/sparc64/kernel/mdesc.c +++ b/arch/sparc64/kernel/mdesc.c @@ -624,6 +624,10 @@ static void __init mdesc_fill_in_cpu_data(void) c->proc_id = -1; } +#ifdef CONFIG_SMP + sparc64_multi_core = 1; +#endif + set_core_ids(); set_proc_ids(); diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c index 172387d1f660..6f4a5284b0ea 100644 --- a/arch/sparc64/kernel/prom.c +++ b/arch/sparc64/kernel/prom.c @@ -1782,6 +1782,9 @@ static void __init of_fill_in_cpu_data(void) cpu_data(cpuid).core_id = portid + 1; cpu_data(cpuid).proc_id = portid; +#ifdef CONFIG_SMP + sparc64_multi_core = 1; +#endif } else { cpu_data(cpuid).dcache_size = of_getintprop_default(dp, "dcache-size", 16 * 1024); diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 68a45ac93375..4dcd7d0b60f2 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c @@ -44,6 +44,8 @@ extern void calibrate_delay(void); +int sparc64_multi_core __read_mostly; + /* Please don't make this stuff initdata!!! --DaveM */ unsigned char boot_cpu_id; |