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