summaryrefslogtreecommitdiffstats
path: root/include/asm-alpha/smp.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-alpha/smp.h')
-rw-r--r--include/asm-alpha/smp.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/include/asm-alpha/smp.h b/include/asm-alpha/smp.h
index 04be8487d..d53142bb1 100644
--- a/include/asm-alpha/smp.h
+++ b/include/asm-alpha/smp.h
@@ -4,22 +4,30 @@
#ifdef __SMP__
#include <linux/tasks.h>
+#include <asm/init.h>
#include <asm/pal.h>
struct cpuinfo_alpha {
unsigned long loops_per_sec;
- unsigned int next;
unsigned long *pgd_cache;
unsigned long *pte_cache;
unsigned long pgtable_cache_sz;
unsigned long ipi_count;
-} __attribute__((aligned(32)));
+ unsigned long prof_multiplier;
+ unsigned long prof_counter;
+} __cacheline_aligned;
extern struct cpuinfo_alpha cpu_data[NR_CPUS];
#define PROC_CHANGE_PENALTY 20
-extern __volatile__ int cpu_number_map[NR_CPUS];
+/* Map from cpu id to sequential logical cpu number. This will only
+ not be idempotent when cpus failed to come on-line. */
+extern int cpu_number_map[NR_CPUS];
+
+/* The reverse map from sequential logical cpu number to cpu id. */
+extern int __cpu_logical_map[NR_CPUS];
+#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
/* HACK: Cabrio WHAMI return value is bogus if more than 8 bits used.. :-( */
@@ -35,7 +43,6 @@ static __inline__ unsigned char hard_smp_processor_id(void)
}
#define smp_processor_id() (current->processor)
-#define cpu_logical_map(cpu) (cpu)
#endif /* __SMP__ */