Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
events.c File Reference
#include <linux/linkage.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/module.h>
#include <linux/string.h>
#include <linux/bootmem.h>
#include <linux/slab.h>
#include <linux/irqnr.h>
#include <linux/pci.h>
#include <asm/sync_bitops.h>
#include <asm/xen/hypercall.h>
#include <asm/xen/hypervisor.h>
#include <xen/xen.h>
#include <xen/hvm.h>
#include <xen/xen-ops.h>
#include <xen/events.h>
#include <xen/interface/xen.h>
#include <xen/interface/event_channel.h>
#include <xen/interface/hvm/hvm_op.h>
#include <xen/interface/hvm/params.h>
#include <xen/interface/physdev.h>
#include <xen/interface/sched.h>
#include <asm/hw_irq.h>

Go to the source code of this file.

Data Structures

struct  irq_info
 

Macros

#define PIRQ_NEEDS_EOI   (1 << 0)
 
#define PIRQ_SHAREABLE   (1 << 1)
 
#define VALID_EVTCHN(chn)   ((chn) != 0)
 
#define MASK_LSBS(w, i)   (w & ((~0UL) << i))
 

Enumerations

enum  xen_irq_type {
  IRQT_UNBOUND = 0, IRQT_PIRQ, IRQT_VIRQ, IRQT_IPI,
  IRQT_EVTCHN
}
 

Functions

unsigned irq_from_evtchn (unsigned int evtchn)
 
 EXPORT_SYMBOL_GPL (irq_from_evtchn)
 
void notify_remote_via_irq (int irq)
 
 EXPORT_SYMBOL_GPL (notify_remote_via_irq)
 
int xen_irq_from_gsi (unsigned gsi)
 
 EXPORT_SYMBOL_GPL (xen_irq_from_gsi)
 
int xen_bind_pirq_gsi_to_irq (unsigned gsi, unsigned pirq, int shareable, char *name)
 
int xen_destroy_irq (int irq)
 
int xen_irq_from_pirq (unsigned pirq)
 
int xen_pirq_from_irq (unsigned irq)
 
 EXPORT_SYMBOL_GPL (xen_pirq_from_irq)
 
int bind_evtchn_to_irq (unsigned int evtchn)
 
 EXPORT_SYMBOL_GPL (bind_evtchn_to_irq)
 
int bind_virq_to_irq (unsigned int virq, unsigned int cpu)
 
int bind_evtchn_to_irqhandler (unsigned int evtchn, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)
 
 EXPORT_SYMBOL_GPL (bind_evtchn_to_irqhandler)
 
int bind_interdomain_evtchn_to_irqhandler (unsigned int remote_domain, unsigned int remote_port, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)
 
 EXPORT_SYMBOL_GPL (bind_interdomain_evtchn_to_irqhandler)
 
int bind_virq_to_irqhandler (unsigned int virq, unsigned int cpu, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)
 
 EXPORT_SYMBOL_GPL (bind_virq_to_irqhandler)
 
int bind_ipi_to_irqhandler (enum ipi_vector ipi, unsigned int cpu, irq_handler_t handler, unsigned long irqflags, const char *devname, void *dev_id)
 
void unbind_from_irqhandler (unsigned int irq, void *dev_id)
 
 EXPORT_SYMBOL_GPL (unbind_from_irqhandler)
 
int evtchn_make_refcounted (unsigned int evtchn)
 
 EXPORT_SYMBOL_GPL (evtchn_make_refcounted)
 
int evtchn_get (unsigned int evtchn)
 
 EXPORT_SYMBOL_GPL (evtchn_get)
 
void evtchn_put (unsigned int evtchn)
 
 EXPORT_SYMBOL_GPL (evtchn_put)
 
void xen_send_IPI_one (unsigned int cpu, enum ipi_vector vector)
 
irqreturn_t xen_debug_interrupt (int irq, void *dev_id)
 
void xen_evtchn_do_upcall (struct pt_regs *regs)
 
void xen_hvm_evtchn_do_upcall (void)
 
 EXPORT_SYMBOL_GPL (xen_hvm_evtchn_do_upcall)
 
void rebind_evtchn_irq (int evtchn, int irq)
 
int resend_irq_on_evtchn (unsigned int irq)
 
void xen_clear_irq_pending (int irq)
 
 EXPORT_SYMBOL (xen_clear_irq_pending)
 
void xen_set_irq_pending (int irq)
 
bool xen_test_irq_pending (int irq)
 
void xen_poll_irq_timeout (int irq, u64 timeout)
 
 EXPORT_SYMBOL (xen_poll_irq_timeout)
 
void xen_poll_irq (int irq)
 
int xen_test_irq_shared (int irq)
 
 EXPORT_SYMBOL_GPL (xen_test_irq_shared)
 
void xen_irq_resume (void)
 
int xen_set_callback_via (uint64_t via)
 
 EXPORT_SYMBOL_GPL (xen_set_callback_via)
 
void xen_callback_vector (void)
 
void __init xen_init_IRQ (void)
 

Macro Definition Documentation

#define MASK_LSBS (   w,
  i 
)    (w & ((~0UL) << i))

Definition at line 1276 of file events.c.

#define PIRQ_NEEDS_EOI   (1 << 0)

Definition at line 114 of file events.c.

#define PIRQ_SHAREABLE   (1 << 1)

Definition at line 115 of file events.c.

#define VALID_EVTCHN (   chn)    ((chn) != 0)

Definition at line 127 of file events.c.

Enumeration Type Documentation

Enumerator:
IRQT_UNBOUND 
IRQT_PIRQ 
IRQT_VIRQ 
IRQT_IPI 
IRQT_EVTCHN 

Definition at line 74 of file events.c.

Function Documentation

int bind_evtchn_to_irq ( unsigned int  evtchn)

Definition at line 833 of file events.c.

int bind_evtchn_to_irqhandler ( unsigned int  evtchn,
irq_handler_t  handler,
unsigned long  irqflags,
const char devname,
void dev_id 
)

Definition at line 1026 of file events.c.

int bind_interdomain_evtchn_to_irqhandler ( unsigned int  remote_domain,
unsigned int  remote_port,
irq_handler_t  handler,
unsigned long  irqflags,
const char devname,
void dev_id 
)

Definition at line 1046 of file events.c.

int bind_ipi_to_irqhandler ( enum ipi_vector  ipi,
unsigned int  cpu,
irq_handler_t  handler,
unsigned long  irqflags,
const char devname,
void dev_id 
)

Definition at line 1088 of file events.c.

int bind_virq_to_irq ( unsigned int  virq,
unsigned int  cpu 
)

Definition at line 936 of file events.c.

int bind_virq_to_irqhandler ( unsigned int  virq,
unsigned int  cpu,
irq_handler_t  handler,
unsigned long  irqflags,
const char devname,
void dev_id 
)

Definition at line 1069 of file events.c.

int evtchn_get ( unsigned int  evtchn)

Definition at line 1139 of file events.c.

int evtchn_make_refcounted ( unsigned int  evtchn)

Definition at line 1118 of file events.c.

void evtchn_put ( unsigned int  evtchn)

Definition at line 1172 of file events.c.

EXPORT_SYMBOL ( xen_clear_irq_pending  )
EXPORT_SYMBOL ( xen_poll_irq_timeout  )
EXPORT_SYMBOL_GPL ( irq_from_evtchn  )
EXPORT_SYMBOL_GPL ( notify_remote_via_irq  )
EXPORT_SYMBOL_GPL ( xen_irq_from_gsi  )
EXPORT_SYMBOL_GPL ( xen_pirq_from_irq  )
EXPORT_SYMBOL_GPL ( bind_evtchn_to_irq  )
EXPORT_SYMBOL_GPL ( bind_evtchn_to_irqhandler  )
EXPORT_SYMBOL_GPL ( bind_interdomain_evtchn_to_irqhandler  )
EXPORT_SYMBOL_GPL ( bind_virq_to_irqhandler  )
EXPORT_SYMBOL_GPL ( unbind_from_irqhandler  )
EXPORT_SYMBOL_GPL ( evtchn_make_refcounted  )
EXPORT_SYMBOL_GPL ( evtchn_get  )
EXPORT_SYMBOL_GPL ( evtchn_put  )
EXPORT_SYMBOL_GPL ( xen_hvm_evtchn_do_upcall  )
EXPORT_SYMBOL_GPL ( xen_test_irq_shared  )
EXPORT_SYMBOL_GPL ( xen_set_callback_via  )
unsigned irq_from_evtchn ( unsigned int  evtchn)

Definition at line 225 of file events.c.

void notify_remote_via_irq ( int  irq)

notify_remote_via_irq - send event to remote end of event channel via irq : irq of event channel to send event to

Unlike notify_remote_via_evtchn(), this is safe to use across save/restore. Notifications on a broken connection are silently dropped.

Definition at line 366 of file events.c.

void rebind_evtchn_irq ( int  evtchn,
int  irq 
)

Definition at line 1416 of file events.c.

int resend_irq_on_evtchn ( unsigned int  irq)

Definition at line 1482 of file events.c.

void unbind_from_irqhandler ( unsigned int  irq,
void dev_id 
)

Definition at line 1111 of file events.c.

int xen_bind_pirq_gsi_to_irq ( unsigned  gsi,
unsigned  pirq,
int  shareable,
char name 
)

Definition at line 660 of file events.c.

void xen_callback_vector ( void  )

Definition at line 1806 of file events.c.

void xen_clear_irq_pending ( int  irq)

Definition at line 1637 of file events.c.

irqreturn_t xen_debug_interrupt ( int  irq,
void dev_id 
)

Definition at line 1188 of file events.c.

int xen_destroy_irq ( int  irq)

Definition at line 768 of file events.c.

void xen_evtchn_do_upcall ( struct pt_regs regs)

Definition at line 1394 of file events.c.

void xen_hvm_evtchn_do_upcall ( void  )

Definition at line 1409 of file events.c.

void __init xen_init_IRQ ( void  )

Definition at line 1809 of file events.c.

int xen_irq_from_gsi ( unsigned  gsi)

Definition at line 634 of file events.c.

int xen_irq_from_pirq ( unsigned  pirq)

Definition at line 805 of file events.c.

void xen_irq_resume ( void  )

Definition at line 1701 of file events.c.

int xen_pirq_from_irq ( unsigned  irq)

Definition at line 828 of file events.c.

void xen_poll_irq ( int  irq)

Definition at line 1684 of file events.c.

void xen_poll_irq_timeout ( int  irq,
u64  timeout 
)

Definition at line 1666 of file events.c.

void xen_send_IPI_one ( unsigned int  cpu,
enum ipi_vector  vector 
)

Definition at line 1181 of file events.c.

int xen_set_callback_via ( uint64_t  via)

Definition at line 1771 of file events.c.

void xen_set_irq_pending ( int  irq)

Definition at line 1645 of file events.c.

bool xen_test_irq_pending ( int  irq)

Definition at line 1653 of file events.c.

int xen_test_irq_shared ( int  irq)

Definition at line 1690 of file events.c.