smp.h revision 222813
166458Sdfr/* 266458Sdfr * $FreeBSD: head/sys/ia64/include/smp.h 222813 2011-06-07 08:46:13Z attilio $ 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 17222813Sattilio#include <sys/_cpuset.h> 18222813Sattilio 19148807Smarcelstruct pcpu; 20148807Smarcel 21221271Smarcelstruct ia64_ap_state { 22221271Smarcel uint64_t as_trace; 23221271Smarcel uint64_t as_pgtbl_pte; 24221271Smarcel uint64_t as_pgtbl_itir; 25221271Smarcel uint64_t as_text_va; 26221271Smarcel uint64_t as_text_pte; 27221271Smarcel uint64_t as_text_itir; 28221271Smarcel uint64_t as_data_va; 29221271Smarcel uint64_t as_data_pte; 30221271Smarcel uint64_t as_data_itir; 31221271Smarcel void *as_kstack; 32221271Smarcel void *as_kstack_top; 33221271Smarcel struct pcpu *as_pcpu; 34221271Smarcel volatile int as_delay; 35221271Smarcel volatile u_int as_awake; 36221271Smarcel volatile u_int as_spin; 37221271Smarcel}; 38221271Smarcel 39205234Smarcelextern int ia64_ipi_ast; 40205234Smarcelextern int ia64_ipi_highfp; 41205234Smarcelextern int ia64_ipi_nmi; 42205234Smarcelextern int ia64_ipi_preempt; 43205234Smarcelextern int ia64_ipi_rndzvs; 44205234Smarcelextern int ia64_ipi_stop; 45205234Smarcelextern int ia64_ipi_wakeup; 4666458Sdfr 4785656Smarcelvoid ipi_all_but_self(int ipi); 48210939Sjhbvoid ipi_cpu(int cpu, u_int ipi); 49222813Sattiliovoid ipi_selected(cpuset_t cpus, int ipi); 50148807Smarcelvoid ipi_send(struct pcpu *, int ipi); 5166458Sdfr 5266458Sdfr#endif /* !LOCORE */ 5366458Sdfr#endif /* _KERNEL */ 5476078Sjhb#endif /* !_MACHINE_SMP_H */ 55