Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at c9a28fa7b9ac19b676deefa0a171ce7df8755c08 48 lines 1.3 kB view raw
1#ifndef _XEN_EVENTS_H 2#define _XEN_EVENTS_H 3 4#include <linux/interrupt.h> 5 6#include <xen/interface/event_channel.h> 7#include <asm/xen/hypercall.h> 8 9enum ipi_vector { 10 XEN_RESCHEDULE_VECTOR, 11 XEN_CALL_FUNCTION_VECTOR, 12 13 XEN_NR_IPIS, 14}; 15 16int bind_evtchn_to_irq(unsigned int evtchn); 17int bind_evtchn_to_irqhandler(unsigned int evtchn, 18 irq_handler_t handler, 19 unsigned long irqflags, const char *devname, 20 void *dev_id); 21int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu, 22 irq_handler_t handler, 23 unsigned long irqflags, const char *devname, 24 void *dev_id); 25int bind_ipi_to_irqhandler(enum ipi_vector ipi, 26 unsigned int cpu, 27 irq_handler_t handler, 28 unsigned long irqflags, 29 const char *devname, 30 void *dev_id); 31 32/* 33 * Common unbind function for all event sources. Takes IRQ to unbind from. 34 * Automatically closes the underlying event channel (even for bindings 35 * made with bind_evtchn_to_irqhandler()). 36 */ 37void unbind_from_irqhandler(unsigned int irq, void *dev_id); 38 39void xen_send_IPI_one(unsigned int cpu, enum ipi_vector vector); 40 41static inline void notify_remote_via_evtchn(int port) 42{ 43 struct evtchn_send send = { .port = port }; 44 (void)HYPERVISOR_event_channel_op(EVTCHNOP_send, &send); 45} 46 47extern void notify_remote_via_irq(int irq); 48#endif /* _XEN_EVENTS_H */