1 1.1.4.2 mjf /* $NetBSD: gemini_ipivar.h,v 1.1.4.2 2009/01/17 13:27:52 mjf Exp $ */ 2 1.1.4.2 mjf 3 1.1.4.2 mjf #ifndef _GEMINI_IPIVAR_H 4 1.1.4.2 mjf #define _GEMINI_IPIVAR_H 5 1.1.4.2 mjf 6 1.1.4.2 mjf #include <sys/param.h> 7 1.1.4.2 mjf #include <sys/systm.h> 8 1.1.4.2 mjf #include <sys/device.h> 9 1.1.4.2 mjf 10 1.1.4.2 mjf typedef struct gemini_ipi_intrq { 11 1.1.4.2 mjf SIMPLEQ_ENTRY(gemini_ipi_intrq) iq_q; 12 1.1.4.2 mjf int (*iq_func)(void *); 13 1.1.4.2 mjf void *iq_arg; 14 1.1.4.2 mjf } gemini_ipi_intrq_t; 15 1.1.4.2 mjf 16 1.1.4.2 mjf typedef struct gemini_ipi_softc { 17 1.1.4.2 mjf struct device sc_dev; 18 1.1.4.2 mjf bus_space_tag_t sc_iot; 19 1.1.4.2 mjf bus_space_handle_t sc_ioh; 20 1.1.4.2 mjf bus_addr_t sc_addr; 21 1.1.4.2 mjf bus_size_t sc_size; 22 1.1.4.2 mjf int sc_intr; 23 1.1.4.2 mjf void *sc_ih; 24 1.1.4.2 mjf SIMPLEQ_HEAD(, gemini_ipi_intrq) sc_intrq; 25 1.1.4.2 mjf } gemini_ipi_softc_t; 26 1.1.4.2 mjf 27 1.1.4.2 mjf extern void *ipi_intr_establish(int (*)(void *), void *); 28 1.1.4.2 mjf extern void ipi_intr_disestablish(void *); 29 1.1.4.2 mjf extern int ipi_send(void); 30 1.1.4.2 mjf 31 1.1.4.2 mjf #endif /* _GEMINI_IPIVAR_H */ 32