patch-2.1.121 linux/include/asm-alpha/smp.h
Next file: linux/include/asm-alpha/smplock.h
Previous file: linux/include/asm-alpha/processor.h
Back to the patch index
Back to the overall index
- Lines: 62
- Date:
Sun Sep 6 10:34:33 1998
- Orig file:
v2.1.120/linux/include/asm-alpha/smp.h
- Orig date:
Thu Aug 6 14:06:33 1998
diff -u --recursive --new-file v2.1.120/linux/include/asm-alpha/smp.h linux/include/asm-alpha/smp.h
@@ -4,6 +4,7 @@
#ifdef __SMP__
#include <linux/tasks.h>
+#include <asm/pal.h>
struct cpuinfo_alpha {
unsigned long loops_per_sec;
@@ -15,38 +16,28 @@
extern struct cpuinfo_alpha cpu_data[NR_CPUS];
-typedef volatile struct {
- unsigned int kernel_flag; /* 4 bytes, please */
- unsigned int akp; /* 4 bytes, please */
- unsigned long pc;
- unsigned int cpu;
-} klock_info_t;
-
-extern klock_info_t klock_info;
-
-#define KLOCK_HELD 0xff
-#define KLOCK_CLEAR 0x00
-
-extern int task_lock_depth;
-
#define PROC_CHANGE_PENALTY 20
extern __volatile__ int cpu_number_map[NR_CPUS];
/* HACK: Cabrio WHAMI return value is bogus if more than 8 bits used.. :-( */
-#define hard_smp_processor_id() \
-({ \
- register unsigned char __r0 __asm__("$0"); \
- __asm__ __volatile__( \
- "call_pal %0" \
- : /* no output (bound to the template) */ \
- :"i" (PAL_whami) \
- :"$0", "$1", "$22", "$23", "$24", "$25", "memory"); \
- __r0; \
-})
-#define smp_processor_id() hard_smp_processor_id()
+static __inline__ unsigned char hard_smp_processor_id(void)
+{
+ register unsigned char __r0 __asm__("$0");
+ __asm__ __volatile__(
+ "call_pal %1 #whami"
+ : "=r"(__r0)
+ :"i" (PAL_whami)
+ : "$1", "$22", "$23", "$24", "$25");
+ return __r0;
+}
+
+#define smp_processor_id() (current->processor)
#define cpu_logical_map(cpu) (cpu)
+
+/* For the benefit of panic. */
+void smp_message_pass(int target, int msg, unsigned long data, int wait);
#endif /* __SMP__ */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov