smp.h revision 221271
166458Sdfr/* 266458Sdfr * $FreeBSD: head/sys/ia64/include/smp.h 221271 2011-04-30 20:49:00Z marcel $ 366458Sdfr */ 466458Sdfr#ifndef _MACHINE_SMP_H_ 566458Sdfr#define _MACHINE_SMP_H_ 666458Sdfr 766458Sdfr#ifdef _KERNEL 866458Sdfr 9205234Smarcel#define IPI_AST ia64_ipi_ast 10205234Smarcel#define IPI_PREEMPT ia64_ipi_preempt 11205234Smarcel#define IPI_RENDEZVOUS ia64_ipi_rndzvs 12205234Smarcel#define IPI_STOP ia64_ipi_stop 13205234Smarcel#define IPI_STOP_HARD ia64_ipi_nmi 1466458Sdfr 1566458Sdfr#ifndef LOCORE 1666458Sdfr 17148807Smarcelstruct pcpu; 18148807Smarcel 19221271Smarcelstruct ia64_ap_state { 20221271Smarcel uint64_t as_trace; 21221271Smarcel uint64_t as_pgtbl_pte; 22221271Smarcel uint64_t as_pgtbl_itir; 23221271Smarcel uint64_t as_text_va; 24221271Smarcel uint64_t as_text_pte; 25221271Smarcel uint64_t as_text_itir; 26221271Smarcel uint64_t as_data_va; 27221271Smarcel uint64_t as_data_pte; 28221271Smarcel uint64_t as_data_itir; 29221271Smarcel void *as_kstack; 30221271Smarcel void *as_kstack_top; 31221271Smarcel struct pcpu *as_pcpu; 32221271Smarcel volatile int as_delay; 33221271Smarcel volatile u_int as_awake; 34221271Smarcel volatile u_int as_spin; 35221271Smarcel}; 36221271Smarcel 37205234Smarcelextern int ia64_ipi_ast; 38205234Smarcelextern int ia64_ipi_highfp; 39205234Smarcelextern int ia64_ipi_nmi; 40205234Smarcelextern int ia64_ipi_preempt; 41205234Smarcelextern int ia64_ipi_rndzvs; 42205234Smarcelextern int ia64_ipi_stop; 43205234Smarcelextern int ia64_ipi_wakeup; 4466458Sdfr 4585656Smarcelvoid ipi_all_but_self(int ipi); 46210939Sjhbvoid ipi_cpu(int cpu, u_int ipi); 47148807Smarcelvoid ipi_selected(cpumask_t cpus, int ipi); 48148807Smarcelvoid ipi_send(struct pcpu *, int ipi); 4966458Sdfr 5066458Sdfr#endif /* !LOCORE */ 5166458Sdfr#endif /* _KERNEL */ 5276078Sjhb#endif /* !_MACHINE_SMP_H */ 53