Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
irq_comm.c File Reference
#include <linux/kvm_host.h>
#include <linux/slab.h>
#include <trace/events/kvm.h>
#include <asm/msidef.h>
#include "irq.h"
#include "ioapic.h"

Go to the source code of this file.

Macros

#define IOAPIC_ROUTING_ENTRY(irq)
 
#define ROUTING_ENTRY1(irq)   IOAPIC_ROUTING_ENTRY(irq)
 
#define ROUTING_ENTRY2(irq)   IOAPIC_ROUTING_ENTRY(irq)
 

Functions

int kvm_irq_delivery_to_apic (struct kvm *kvm, struct kvm_lapic *src, struct kvm_lapic_irq *irq)
 
int kvm_set_msi (struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int irq_source_id, int level)
 
int kvm_send_userspace_msi (struct kvm *kvm, struct kvm_msi *msi)
 
int kvm_set_irq (struct kvm *kvm, int irq_source_id, u32 irq, int level)
 
void kvm_notify_acked_irq (struct kvm *kvm, unsigned irqchip, unsigned pin)
 
void kvm_register_irq_ack_notifier (struct kvm *kvm, struct kvm_irq_ack_notifier *kian)
 
void kvm_unregister_irq_ack_notifier (struct kvm *kvm, struct kvm_irq_ack_notifier *kian)
 
int kvm_request_irq_source_id (struct kvm *kvm)
 
void kvm_free_irq_source_id (struct kvm *kvm, int irq_source_id)
 
void kvm_register_irq_mask_notifier (struct kvm *kvm, int irq, struct kvm_irq_mask_notifier *kimn)
 
void kvm_unregister_irq_mask_notifier (struct kvm *kvm, int irq, struct kvm_irq_mask_notifier *kimn)
 
void kvm_fire_mask_notifiers (struct kvm *kvm, unsigned irqchip, unsigned pin, bool mask)
 
void kvm_free_irq_routing (struct kvm *kvm)
 
int kvm_set_irq_routing (struct kvm *kvm, const struct kvm_irq_routing_entry *ue, unsigned nr, unsigned flags)
 
int kvm_setup_default_irq_routing (struct kvm *kvm)
 

Macro Definition Documentation

#define IOAPIC_ROUTING_ENTRY (   irq)
Value:
{ .gsi = irq, .type = KVM_IRQ_ROUTING_IRQCHIP, \
.u.irqchip.irqchip = KVM_IRQCHIP_IOAPIC, .u.irqchip.pin = (irq) }

Definition at line 428 of file irq_comm.c.

#define ROUTING_ENTRY1 (   irq)    IOAPIC_ROUTING_ENTRY(irq)

Definition at line 431 of file irq_comm.c.

#define ROUTING_ENTRY2 (   irq)    IOAPIC_ROUTING_ENTRY(irq)

Definition at line 440 of file irq_comm.c.

Function Documentation

void kvm_fire_mask_notifiers ( struct kvm kvm,
unsigned  irqchip,
unsigned  pin,
bool  mask 
)

Definition at line 284 of file irq_comm.c.

void kvm_free_irq_routing ( struct kvm kvm)

Definition at line 300 of file irq_comm.c.

void kvm_free_irq_source_id ( struct kvm kvm,
int  irq_source_id 
)

Definition at line 241 of file irq_comm.c.

int kvm_irq_delivery_to_apic ( struct kvm kvm,
struct kvm_lapic src,
struct kvm_lapic_irq irq 
)

Definition at line 64 of file irq_comm.c.

void kvm_notify_acked_irq ( struct kvm kvm,
unsigned  irqchip,
unsigned  pin 
)

Definition at line 181 of file irq_comm.c.

void kvm_register_irq_ack_notifier ( struct kvm kvm,
struct kvm_irq_ack_notifier kian 
)

Definition at line 199 of file irq_comm.c.

void kvm_register_irq_mask_notifier ( struct kvm kvm,
int  irq,
struct kvm_irq_mask_notifier kimn 
)

Definition at line 266 of file irq_comm.c.

int kvm_request_irq_source_id ( struct kvm kvm)

Definition at line 216 of file irq_comm.c.

int kvm_send_userspace_msi ( struct kvm kvm,
struct kvm_msi msi 
)

Definition at line 129 of file irq_comm.c.

int kvm_set_irq ( struct kvm kvm,
int  irq_source_id,
u32  irq,
int  level 
)

Definition at line 149 of file irq_comm.c.

int kvm_set_irq_routing ( struct kvm kvm,
const struct kvm_irq_routing_entry *  ue,
unsigned  nr,
unsigned  flags 
)

Definition at line 372 of file irq_comm.c.

int kvm_set_msi ( struct kvm_kernel_irq_routing_entry e,
struct kvm kvm,
int  irq_source_id,
int  level 
)

Definition at line 105 of file irq_comm.c.

int kvm_setup_default_irq_routing ( struct kvm kvm)

Definition at line 473 of file irq_comm.c.

void kvm_unregister_irq_ack_notifier ( struct kvm kvm,
struct kvm_irq_ack_notifier kian 
)

Definition at line 207 of file irq_comm.c.

void kvm_unregister_irq_mask_notifier ( struct kvm kvm,
int  irq,
struct kvm_irq_mask_notifier kimn 
)

Definition at line 275 of file irq_comm.c.