diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/arch-integrator/smp.h | 19 | ||||
| -rw-r--r-- | include/asm-arm/smp.h | 14 |
2 files changed, 33 insertions, 0 deletions
diff --git a/include/asm-arm/arch-integrator/smp.h b/include/asm-arm/arch-integrator/smp.h new file mode 100644 index 000000000000..0ec7093f7c37 --- /dev/null +++ b/include/asm-arm/arch-integrator/smp.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | #ifndef ASMARM_ARCH_SMP_H | ||
| 2 | #define ASMARM_ARCH_SMP_H | ||
| 3 | |||
| 4 | #include <linux/config.h> | ||
| 5 | |||
| 6 | #include <asm/arch/hardware.h> | ||
| 7 | #include <asm/io.h> | ||
| 8 | |||
| 9 | #define hard_smp_processor_id() \ | ||
| 10 | ({ \ | ||
| 11 | unsigned int cpunum; \ | ||
| 12 | __asm__("mrc p15, 0, %0, c0, c0, 5" \ | ||
| 13 | : "=r" (cpunum)); \ | ||
| 14 | cpunum &= 0x0F; \ | ||
| 15 | }) | ||
| 16 | |||
| 17 | extern void secondary_scan_irqs(void); | ||
| 18 | |||
| 19 | #endif | ||
diff --git a/include/asm-arm/smp.h b/include/asm-arm/smp.h index f21fd8f6bcdd..bd44f894690f 100644 --- a/include/asm-arm/smp.h +++ b/include/asm-arm/smp.h | |||
| @@ -55,4 +55,18 @@ extern void smp_cross_call(cpumask_t callmap); | |||
| 55 | */ | 55 | */ |
| 56 | extern int boot_secondary(unsigned int cpu, struct task_struct *); | 56 | extern int boot_secondary(unsigned int cpu, struct task_struct *); |
| 57 | 57 | ||
| 58 | /* | ||
| 59 | * Perform platform specific initialisation of the specified CPU. | ||
| 60 | */ | ||
| 61 | extern void platform_secondary_init(unsigned int cpu); | ||
| 62 | |||
| 63 | /* | ||
| 64 | * Initial data for bringing up a secondary CPU. | ||
| 65 | */ | ||
| 66 | struct secondary_data { | ||
| 67 | unsigned long pgdir; | ||
| 68 | void *stack; | ||
| 69 | }; | ||
| 70 | extern struct secondary_data secondary_data; | ||
| 71 | |||
| 58 | #endif /* ifndef __ASM_ARM_SMP_H */ | 72 | #endif /* ifndef __ASM_ARM_SMP_H */ |
