diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-06-19 19:26:54 +0100 |
---|---|---|
committer | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-06-19 19:26:54 +0100 |
commit | ea4423c3b6c1dbd116c91be876b3ad07067c77c8 (patch) | |
tree | d4132a9ffc173be69b2e7abf0b52a52eb61bffcc /include/asm-arm | |
parent | 36c5ed23b9f535d1c79986efb45f9c1f115e0997 (diff) | |
parent | fe6ef2daa29df8fef1a95446faccd18ab163993e (diff) |
Merge with ../linux-2.6-smp
Diffstat (limited to 'include/asm-arm')
-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 00000000000..0ec7093f7c3 --- /dev/null +++ b/include/asm-arm/arch-integrator/smp.h @@ -0,0 +1,19 @@ +#ifndef ASMARM_ARCH_SMP_H +#define ASMARM_ARCH_SMP_H + +#include <linux/config.h> + +#include <asm/arch/hardware.h> +#include <asm/io.h> + +#define hard_smp_processor_id() \ + ({ \ + unsigned int cpunum; \ + __asm__("mrc p15, 0, %0, c0, c0, 5" \ + : "=r" (cpunum)); \ + cpunum &= 0x0F; \ + }) + +extern void secondary_scan_irqs(void); + +#endif diff --git a/include/asm-arm/smp.h b/include/asm-arm/smp.h index f21fd8f6bcd..bd44f894690 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); */ extern int boot_secondary(unsigned int cpu, struct task_struct *); +/* + * Perform platform specific initialisation of the specified CPU. + */ +extern void platform_secondary_init(unsigned int cpu); + +/* + * Initial data for bringing up a secondary CPU. + */ +struct secondary_data { + unsigned long pgdir; + void *stack; +}; +extern struct secondary_data secondary_data; + #endif /* ifndef __ASM_ARM_SMP_H */ |