Skip to content

Commit

Permalink
[SPARC64]: Fix {mc,smt}_capable().
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David S. Miller authored and David S. Miller committed Jun 5, 2007
1 parent 5cd342d commit a2f9f6b
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 4 deletions.
4 changes: 4 additions & 0 deletions arch/sparc64/kernel/mdesc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
3 changes: 3 additions & 0 deletions arch/sparc64/kernel/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
2 changes: 2 additions & 0 deletions arch/sparc64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
1 change: 1 addition & 0 deletions include/asm-sparc64/smp.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ extern cpumask_t phys_cpu_present_map;

extern cpumask_t cpu_sibling_map[NR_CPUS];
extern cpumask_t cpu_core_map[NR_CPUS];
extern int sparc64_multi_core;

/*
* General functions that each host system must provide.
Expand Down
6 changes: 2 additions & 4 deletions include/asm-sparc64/topology.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@
#define _ASM_SPARC64_TOPOLOGY_H

#ifdef CONFIG_SMP
#include <asm/spitfire.h>

#define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
#define topology_core_id(cpu) (cpu_data(cpu).core_id)
#define topology_core_siblings(cpu) (cpu_core_map[cpu])
#define topology_thread_siblings(cpu) (cpu_sibling_map[cpu])
#define mc_capable() (tlb_type == hypervisor)
#define smt_capable() (tlb_type == hypervisor)
#define mc_capable() (sparc64_multi_core)
#define smt_capable() (sparc64_multi_core)
#endif /* CONFIG_SMP */

#include <asm-generic/topology.h>
Expand Down

0 comments on commit a2f9f6b

Please sign in to comment.