smp.h revision 268200
1/* 2 * $FreeBSD: stable/10/sys/ia64/include/smp.h 268200 2014-07-02 23:47:43Z 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 void *as_xtrace_buffer; 36 volatile int as_delay; 37 volatile u_int as_awake; 38 volatile u_int as_spin; 39}; 40 41extern int ia64_ipi_ast; 42extern int ia64_ipi_hardclock; 43extern int ia64_ipi_highfp; 44extern int ia64_ipi_nmi; 45extern int ia64_ipi_preempt; 46extern int ia64_ipi_rndzvs; 47extern int ia64_ipi_stop; 48extern int ia64_ipi_wakeup; 49 50void ipi_all_but_self(int ipi); 51void ipi_cpu(int cpu, u_int ipi); 52void ipi_selected(cpuset_t cpus, int ipi); 53void ipi_send(struct pcpu *, int ipi); 54 55#endif /* !LOCORE */ 56#endif /* _KERNEL */ 57#endif /* !_MACHINE_SMP_H */ 58