| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #ifndef _ASM_ALPHA_TOPOLOGY_H
 | 
					
						
							|  |  |  | #define _ASM_ALPHA_TOPOLOGY_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/smp.h>
 | 
					
						
							|  |  |  | #include <linux/threads.h>
 | 
					
						
							|  |  |  | #include <asm/machvec.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef CONFIG_NUMA
 | 
					
						
							|  |  |  | static inline int cpu_to_node(int cpu) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	int node; | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 	if (!alpha_mv.cpuid_to_nid) | 
					
						
							|  |  |  | 		return 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	node = alpha_mv.cpuid_to_nid(cpu); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef DEBUG_NUMA
 | 
					
						
							|  |  |  | 	BUG_ON(node < 0); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return node; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline cpumask_t node_to_cpumask(int node) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	cpumask_t node_cpu_mask = CPU_MASK_NONE; | 
					
						
							|  |  |  | 	int cpu; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-23 03:01:05 -08:00
										 |  |  | 	for_each_online_cpu(cpu) { | 
					
						
							|  |  |  | 		if (cpu_to_node(cpu) == node) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 			cpu_set(cpu, node_cpu_mask); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef DEBUG_NUMA
 | 
					
						
							|  |  |  | 	printk("node %d: cpu_mask: %016lx\n", node, node_cpu_mask); | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return node_cpu_mask; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define pcibus_to_cpumask(bus)	(cpu_online_map)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #else /* CONFIG_NUMA */
 | 
					
						
							|  |  |  | # include <asm-generic/topology.h>
 | 
					
						
							|  |  |  | #endif /* !CONFIG_NUMA */
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* _ASM_ALPHA_TOPOLOGY_H */
 |