NetBSD/sys/arch/arm/gemini/gemini_ipivar.h
cliff c55c9be57e add driver for low level inter-processor-interrupt
provides functions for establish/disestablish IPI ISR,
and function to signal IPI to the other CPU.
2008-11-20 08:02:48 +00:00

32 lines
760 B
C

/* $NetBSD: gemini_ipivar.h,v 1.1 2008/11/20 08:02:48 cliff Exp $ */
#ifndef _GEMINI_IPIVAR_H
#define _GEMINI_IPIVAR_H
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/device.h>
typedef struct gemini_ipi_intrq {
SIMPLEQ_ENTRY(gemini_ipi_intrq) iq_q;
int (*iq_func)(void *);
void *iq_arg;
} gemini_ipi_intrq_t;
typedef struct gemini_ipi_softc {
struct device sc_dev;
bus_space_tag_t sc_iot;
bus_space_handle_t sc_ioh;
bus_addr_t sc_addr;
bus_size_t sc_size;
int sc_intr;
void *sc_ih;
SIMPLEQ_HEAD(, gemini_ipi_intrq) sc_intrq;
} gemini_ipi_softc_t;
extern void *ipi_intr_establish(int (*)(void *), void *);
extern void ipi_intr_disestablish(void *);
extern int ipi_send(void);
#endif /* _GEMINI_IPIVAR_H */