smp.h revision 221271
1/* 2 * $FreeBSD: head/sys/ia64/include/smp.h 221271 2011-04-30 20:49:00Z marcel $ 3 */ 4#ifndef _MACHINE_SMP_H_ 5#define _MACHINE_SMP_H_ 6 7#ifdef _KERNEL 8 9#define IPI_AST ia64_ipi_ast 10#define IPI_PREEMPT ia64_ipi_preempt 11#define IPI_RENDEZVOUS ia64_ipi_rndzvs 12#define IPI_STOP ia64_ipi_stop 13#define IPI_STOP_HARD ia64_ipi_nmi 14 15#ifndef LOCORE 16 17struct pcpu; 18 19struct ia64_ap_state { 20 uint64_t as_trace; 21 uint64_t as_pgtbl_pte; 22 uint64_t as_pgtbl_itir; 23 uint64_t as_text_va; 24 uint64_t as_text_pte; 25 uint64_t as_text_itir; 26 uint64_t as_data_va; 27 uint64_t as_data_pte; 28 uint64_t as_data_itir; 29 void *as_kstack; 30 void *as_kstack_top; 31 struct pcpu *as_pcpu; 32 volatile int as_delay; 33 volatile u_int as_awake; 34 volatile u_int as_spin; 35}; 36 37extern int ia64_ipi_ast; 38extern int ia64_ipi_highfp; 39extern int ia64_ipi_nmi; 40extern int ia64_ipi_preempt; 41extern int ia64_ipi_rndzvs; 42extern int ia64_ipi_stop; 43extern int ia64_ipi_wakeup; 44 45void ipi_all_but_self(int ipi); 46void ipi_cpu(int cpu, u_int ipi); 47void ipi_selected(cpumask_t cpus, int ipi); 48void ipi_send(struct pcpu *, int ipi); 49 50#endif /* !LOCORE */ 51#endif /* _KERNEL */ 52#endif /* !_MACHINE_SMP_H */ 53