Changeset View
Changeset View
Standalone View
Standalone View
sys/x86/include/xen/arch-intr.h
Show All 34 Lines | |||||
struct xen_arch_isrc { | struct xen_arch_isrc { | ||||
struct intsrc xai_intsrc; /* @TOP -> *xen_arch_isrc */ | struct intsrc xai_intsrc; /* @TOP -> *xen_arch_isrc */ | ||||
u_int xai_vector; /* Global isrc vector number */ | u_int xai_vector; /* Global isrc vector number */ | ||||
}; | }; | ||||
typedef struct xen_arch_isrc xen_arch_isrc_t; | typedef struct xen_arch_isrc xen_arch_isrc_t; | ||||
extern struct pic xen_intr_pic; | |||||
#include <xen/arch-intr.h> | |||||
/****************************** ARCH wrappers ********************************/ | |||||
static inline bool | |||||
xen_arch_intr_has_handlers(struct xenisrc *isrc) | |||||
{ | |||||
return (isrc->xi_arch.xai_intsrc.is_handlers != 0); | |||||
} | |||||
static inline bool | |||||
xen_arch_intr_execute_handlers(struct xenisrc *isrc, struct trapframe *frame) | |||||
{ | |||||
intr_execute_handlers(&isrc->xi_arch.xai_intsrc, frame); | |||||
return (true); | |||||
} | |||||
static inline int | |||||
xen_arch_intr_add_handler(const char *name, driver_filter_t filter, | |||||
driver_intr_t handler, void *arg, enum intr_type flags, | |||||
struct xenisrc *isrc, void **cookiep) | |||||
{ | |||||
return (intr_add_handler(name, isrc->xi_arch.xai_vector, filter, | |||||
handler, arg, flags, cookiep, 0)); | |||||
} | |||||
static inline int | |||||
xen_arch_intr_describe(struct xenisrc *isrc, void *cookie, const char *descr) | |||||
{ | |||||
return (intr_describe(isrc->xi_arch.xai_vector, cookie, descr)); | |||||
} | |||||
static inline int | |||||
xen_arch_intr_remove_handler(struct xenisrc *isrc, void *cookie) | |||||
{ | |||||
return (intr_remove_handler(cookie)); | |||||
} | |||||
static inline int | |||||
xen_arch_intr_event_bind(struct xenisrc *isrc, u_int cpu) | |||||
{ | |||||
return (intr_event_bind(isrc->xi_arch.xai_intsrc.is_event, cpu)); | |||||
} | |||||
#endif /* _MACHINE_X86_XEN_ARCH_INTR_H_ */ | #endif /* _MACHINE_X86_XEN_ARCH_INTR_H_ */ |