smp.h revision 222813
1/* 2 * $FreeBSD: head/sys/ia64/include/smp.h 222813 2011-06-07 08:46:13Z attilio $ 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 17#include <sys/_cpuset.h> 18 19struct pcpu; 20 21struct ia64_ap_state { 22 uint64_t as_trace; 23 uint64_t as_pgtbl_pte; 24 uint64_t as_pgtbl_itir; 25 uint64_t as_text_va; 26 uint64_t as_text_pte; 27 uint64_t as_text_itir; 28 uint64_t as_data_va; 29 uint64_t as_data_pte; 30 uint64_t as_data_itir; 31 void *as_kstack; 32 void *as_kstack_top; 33 struct pcpu *as_pcpu; 34 volatile int as_delay; 35 volatile u_int as_awake; 36 volatile u_int as_spin; 37}; 38 39extern int ia64_ipi_ast; 40extern int ia64_ipi_highfp; 41extern int ia64_ipi_nmi; 42extern int ia64_ipi_preempt; 43extern int ia64_ipi_rndzvs; 44extern int ia64_ipi_stop; 45extern int ia64_ipi_wakeup; 46 47void ipi_all_but_self(int ipi); 48void ipi_cpu(int cpu, u_int ipi); 49void ipi_selected(cpuset_t cpus, int ipi); 50void ipi_send(struct pcpu *, int ipi); 51 52#endif /* !LOCORE */ 53#endif /* _KERNEL */ 54#endif /* !_MACHINE_SMP_H */ 55