1 /* smp.h: PPC specific SMP stuff.
3 * Taken from asm-sparc/smp.h
9 #include <linux/kernel.h>
16 unsigned long loops_per_sec
;
18 unsigned long *pgd_cache
;
19 unsigned long *pte_cache
;
20 unsigned long pgtable_cache_sz
;
22 extern struct cpuinfo_PPC cpu_data
[NR_CPUS
];
24 extern unsigned long smp_proc_in_lock
[NR_CPUS
];
26 extern void smp_message_pass(int target
, int msg
, unsigned long data
, int wait
);
27 extern void smp_store_cpu_info(int id
);
28 extern void smp_message_recv(void);
30 #define NO_PROC_ID 0xFF /* No processor magic marker */
31 #define PROC_CHANGE_PENALTY 20
33 /* 1 to 1 mapping on PPC -- Cort */
34 #define cpu_logical_map(cpu) (cpu)
35 extern int cpu_number_map
[NR_CPUS
];
36 extern volatile unsigned long cpu_callin_map
[NR_CPUS
];
38 #define hard_smp_processor_id() (0)
39 #define smp_processor_id() (current->processor)
41 struct klock_info_struct
{
42 unsigned long kernel_flag
;
46 extern struct klock_info_struct klock_info
;
47 #define KLOCK_HELD 0xffffffff
48 #define KLOCK_CLEAR 0x0
50 #endif /* __ASSEMBLY__ */
52 #else /* !(__SMP__) */
54 #endif /* !(__SMP__) */
56 #endif /* !(_PPC_SMP_H) */