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