fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-sparc64 / smp.h
index 473edb2..388249b 100644 (file)
@@ -6,7 +6,6 @@
 #ifndef _SPARC64_SMP_H
 #define _SPARC64_SMP_H
 
-#include <linux/config.h>
 #include <linux/threads.h>
 #include <asm/asi.h>
 #include <asm/starfire.h>
 extern cpumask_t phys_cpu_present_map;
 #define cpu_possible_map phys_cpu_present_map
 
+extern cpumask_t cpu_sibling_map[NR_CPUS];
+
 /*
  *     General functions that each host system must provide.
  */
 
-static __inline__ int hard_smp_processor_id(void)
-{
-       if (tlb_type == cheetah || tlb_type == cheetah_plus) {
-               unsigned long cfg, ver;
-               __asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver));
-               if ((ver >> 32) == 0x003e0016) {
-                       __asm__ __volatile__("ldxa [%%g0] %1, %0"
-                                            : "=r" (cfg)
-                                            : "i" (ASI_JBUS_CONFIG));
-                       return ((cfg >> 17) & 0x1f);
-               } else {
-                       __asm__ __volatile__("ldxa [%%g0] %1, %0"
-                                            : "=r" (cfg)
-                                            : "i" (ASI_SAFARI_CONFIG));
-                       return ((cfg >> 17) & 0x3ff);
-               }
-       } else if (this_is_starfire != 0) {
-               return starfire_hard_smp_processor_id();
-       } else {
-               unsigned long upaconfig;
-               __asm__ __volatile__("ldxa      [%%g0] %1, %0"
-                                    : "=r" (upaconfig)
-                                    : "i" (ASI_UPA_CONFIG));
-               return ((upaconfig >> 17) & 0x1f);
-       }
-}
-
+extern int hard_smp_processor_id(void);
 #define raw_smp_processor_id() (current_thread_info()->cpu)
 
 extern void smp_setup_cpu_possible_map(void);