[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>
This commit is contained in:
		
					parent
					
						
							
								5cd342df96
							
						
					
				
			
			
				commit
				
					
						a2f9f6bbb3
					
				
			
		
					 5 changed files with 12 additions and 4 deletions
				
			
		|  | @ -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(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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. | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 David S. Miller
				David S. Miller