diff options
author | gonzo <gonzo@FreeBSD.org> | 2012-08-15 03:03:03 +0000 |
---|---|---|
committer | gonzo <gonzo@FreeBSD.org> | 2012-08-15 03:03:03 +0000 |
commit | 032427f3e9854fccfdddaea8fb15ae4603391a11 (patch) | |
tree | 68d86df1ea7d9bfea335c91632747716f5a0df4a /sys/arm/include/smp.h | |
parent | eca813ad76756aea4f70787cf7827d4b319cfe94 (diff) | |
download | FreeBSD-src-032427f3e9854fccfdddaea8fb15ae4603391a11.zip FreeBSD-src-032427f3e9854fccfdddaea8fb15ae4603391a11.tar.gz |
Merging projects/armv6, part 1
Cummulative patch of changes that are not vendor-specific:
- ARMv6 and ARMv7 architecture support
- ARM SMP support
- VFP/Neon support
- ARM Generic Interrupt Controller driver
- Simplification of startup code for all platforms
Diffstat (limited to 'sys/arm/include/smp.h')
-rw-r--r-- | sys/arm/include/smp.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/arm/include/smp.h b/sys/arm/include/smp.h index ca707e3..3cf3cc1 100644 --- a/sys/arm/include/smp.h +++ b/sys/arm/include/smp.h @@ -3,4 +3,33 @@ #ifndef _MACHINE_SMP_H_ #define _MACHINE_SMP_H_ +#include <sys/_cpuset.h> + +#define IPI_AST 0 +#define IPI_PREEMPT 2 +#define IPI_RENDEZVOUS 3 +#define IPI_STOP 4 +#define IPI_STOP_HARD 5 +#define IPI_HARDCLOCK 6 +#define IPI_TLB 7 + +void init_secondary(int cpu); + +void ipi_all_but_self(u_int ipi); +void ipi_cpu(int cpu, u_int ipi); +void ipi_selected(cpuset_t cpus, u_int ipi); + +/* PIC interface */ +void pic_ipi_send(cpuset_t cpus, u_int ipi); +void pic_ipi_clear(int ipi); +int pic_ipi_get(int arg); + +/* Platform interface */ +void platform_mp_setmaxid(void); +int platform_mp_probe(void); +void platform_mp_start_ap(void); +void platform_mp_init_secondary(void); + +void platform_ipi_send(cpuset_t cpus, u_int ipi); + #endif /* !_MACHINE_SMP_H_ */ |