diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:20:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 15:20:36 -0700 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/asm-ppc/smp.h | |
download | op-kernel-dev-1da177e4c3f41524e886b7f1b8a0c1fc7321cac2.zip op-kernel-dev-1da177e4c3f41524e886b7f1b8a0c1fc7321cac2.tar.gz |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'include/asm-ppc/smp.h')
-rw-r--r-- | include/asm-ppc/smp.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/include/asm-ppc/smp.h b/include/asm-ppc/smp.h new file mode 100644 index 0000000..ebfb614 --- /dev/null +++ b/include/asm-ppc/smp.h @@ -0,0 +1,70 @@ +/* smp.h: PPC specific SMP stuff. + * + * Original was a copy of sparc smp.h. Now heavily modified + * for PPC. + * + * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) + * Copyright (C) 1996-2001 Cort Dougan <cort@fsmlabs.com> + */ +#ifdef __KERNEL__ +#ifndef _PPC_SMP_H +#define _PPC_SMP_H + +#include <linux/config.h> +#include <linux/kernel.h> +#include <linux/bitops.h> +#include <linux/errno.h> +#include <linux/cpumask.h> +#include <linux/threads.h> + +#ifdef CONFIG_SMP + +#ifndef __ASSEMBLY__ + +struct cpuinfo_PPC { + unsigned long loops_per_jiffy; + unsigned long pvr; + unsigned long *pgd_cache; + unsigned long *pte_cache; + unsigned long pgtable_cache_sz; +}; + +extern struct cpuinfo_PPC cpu_data[]; +extern cpumask_t cpu_online_map; +extern cpumask_t cpu_possible_map; +extern unsigned long smp_proc_in_lock[]; +extern volatile unsigned long cpu_callin_map[]; +extern int smp_tb_synchronized; + +extern void smp_send_tlb_invalidate(int); +extern void smp_send_xmon_break(int cpu); +struct pt_regs; +extern void smp_message_recv(int, struct pt_regs *); + +#define NO_PROC_ID 0xFF /* No processor magic marker */ +#define PROC_CHANGE_PENALTY 20 + +#define smp_processor_id() (current_thread_info()->cpu) + +extern int __cpu_up(unsigned int cpu); + +extern int smp_hw_index[]; +#define hard_smp_processor_id() (smp_hw_index[smp_processor_id()]) + +struct klock_info_struct { + unsigned long kernel_flag; + unsigned char akp; +}; + +extern struct klock_info_struct klock_info; +#define KLOCK_HELD 0xffffffff +#define KLOCK_CLEAR 0x0 + +#endif /* __ASSEMBLY__ */ + +#else /* !(CONFIG_SMP) */ + +#endif /* !(CONFIG_SMP) */ + +#endif /* !(_PPC_SMP_H) */ +#endif /* __KERNEL__ */ |