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