|
KVM
|
#include <linux/kvm_host.h>#include <linux/slab.h>#include <linux/export.h>#include <linux/rculist.h>#include <trace/events/kvm.h>#include "irq.h"#include "ioapic.h"#include "lapic.h"#include "hyperv.h"#include "x86.h"#include "xen.h"
Go to the source code of this file.
Macros | |
| #define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| #define | IOAPIC_ROUTING_ENTRY(irq) |
| #define | ROUTING_ENTRY1(irq) IOAPIC_ROUTING_ENTRY(irq) |
| #define | PIC_ROUTING_ENTRY(irq) |
| #define | ROUTING_ENTRY2(irq) IOAPIC_ROUTING_ENTRY(irq), PIC_ROUTING_ENTRY(irq) |
Functions | |
| static int | kvm_set_pic_irq (struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int irq_source_id, int level, bool line_status) |
| static int | kvm_set_ioapic_irq (struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int irq_source_id, int level, bool line_status) |
| int | kvm_irq_delivery_to_apic (struct kvm *kvm, struct kvm_lapic *src, struct kvm_lapic_irq *irq, struct dest_map *dest_map) |
| void | kvm_set_msi_irq (struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, struct kvm_lapic_irq *irq) |
| EXPORT_SYMBOL_GPL (kvm_set_msi_irq) | |
| static bool | kvm_msi_route_invalid (struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e) |
| int | kvm_set_msi (struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int irq_source_id, int level, bool line_status) |
| int | kvm_arch_set_irq_inatomic (struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int irq_source_id, int level, bool line_status) |
| 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) |
| bool | kvm_arch_can_set_irq_routing (struct kvm *kvm) |
| int | kvm_set_routing_entry (struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e, const struct kvm_irq_routing_entry *ue) |
| bool | kvm_intr_is_single_vcpu (struct kvm *kvm, struct kvm_lapic_irq *irq, struct kvm_vcpu **dest_vcpu) |
| EXPORT_SYMBOL_GPL (kvm_intr_is_single_vcpu) | |
| int | kvm_setup_default_irq_routing (struct kvm *kvm) |
| int | kvm_setup_empty_irq_routing (struct kvm *kvm) |
| void | kvm_arch_post_irq_routing_update (struct kvm *kvm) |
| void | kvm_scan_ioapic_routes (struct kvm_vcpu *vcpu, ulong *ioapic_handled_vectors) |
| void | kvm_arch_irq_routing_update (struct kvm *kvm) |
Variables | |
| static const struct kvm_irq_routing_entry | default_routing [] |
| static const struct kvm_irq_routing_entry | empty_routing [] = {} |
| #define IOAPIC_ROUTING_ENTRY | ( | irq | ) |
Definition at line 366 of file irq_comm.c.
| #define PIC_ROUTING_ENTRY | ( | irq | ) |
Definition at line 371 of file irq_comm.c.
| #define pr_fmt | ( | fmt | ) | KBUILD_MODNAME ": " fmt |
Definition at line 11 of file irq_comm.c.
| #define ROUTING_ENTRY1 | ( | irq | ) | IOAPIC_ROUTING_ENTRY(irq) |
Definition at line 369 of file irq_comm.c.
| #define ROUTING_ENTRY2 | ( | irq | ) | IOAPIC_ROUTING_ENTRY(irq), PIC_ROUTING_ENTRY(irq) |
Definition at line 374 of file irq_comm.c.
| EXPORT_SYMBOL_GPL | ( | kvm_intr_is_single_vcpu | ) |
| EXPORT_SYMBOL_GPL | ( | kvm_set_msi_irq | ) |
| bool kvm_arch_can_set_irq_routing | ( | struct kvm * | kvm | ) |
Definition at line 274 of file irq_comm.c.
| void kvm_arch_irq_routing_update | ( | struct kvm * | kvm | ) |
Definition at line 444 of file irq_comm.c.


| void kvm_arch_post_irq_routing_update | ( | struct kvm * | kvm | ) |
Definition at line 405 of file irq_comm.c.


| int kvm_arch_set_irq_inatomic | ( | struct kvm_kernel_irq_routing_entry * | e, |
| struct kvm * | kvm, | ||
| int | irq_source_id, | ||
| int | level, | ||
| bool | line_status | ||
| ) |
Definition at line 159 of file irq_comm.c.

| void kvm_fire_mask_notifiers | ( | struct kvm * | kvm, |
| unsigned | irqchip, | ||
| unsigned | pin, | ||
| bool | mask | ||
| ) |
Definition at line 259 of file irq_comm.c.


| void kvm_free_irq_source_id | ( | struct kvm * | kvm, |
| int | irq_source_id | ||
| ) |
Definition at line 220 of file irq_comm.c.


| bool kvm_intr_is_single_vcpu | ( | struct kvm * | kvm, |
| struct kvm_lapic_irq * | irq, | ||
| struct kvm_vcpu ** | dest_vcpu | ||
| ) |
Definition at line 338 of file irq_comm.c.


| int kvm_irq_delivery_to_apic | ( | struct kvm * | kvm, |
| struct kvm_lapic * | src, | ||
| struct kvm_lapic_irq * | irq, | ||
| struct dest_map * | dest_map | ||
| ) |
Definition at line 47 of file irq_comm.c.


|
inlinestatic |
| void kvm_register_irq_mask_notifier | ( | struct kvm * | kvm, |
| int | irq, | ||
| struct kvm_irq_mask_notifier * | kimn | ||
| ) |
| int kvm_request_irq_source_id | ( | struct kvm * | kvm | ) |
| void kvm_scan_ioapic_routes | ( | struct kvm_vcpu * | vcpu, |
| ulong * | ioapic_handled_vectors | ||
| ) |
Definition at line 412 of file irq_comm.c.


|
static |
Definition at line 38 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, | ||
| bool | line_status | ||
| ) |
Definition at line 131 of file irq_comm.c.


| void kvm_set_msi_irq | ( | struct kvm * | kvm, |
| struct kvm_kernel_irq_routing_entry * | e, | ||
| struct kvm_lapic_irq * | irq | ||
| ) |
|
static |
Definition at line 30 of file irq_comm.c.


| int kvm_set_routing_entry | ( | struct kvm * | kvm, |
| struct kvm_kernel_irq_routing_entry * | e, | ||
| const struct kvm_irq_routing_entry * | ue | ||
| ) |
Definition at line 279 of file irq_comm.c.


| int kvm_setup_default_irq_routing | ( | struct kvm * | kvm | ) |
Definition at line 392 of file irq_comm.c.

| int kvm_setup_empty_irq_routing | ( | struct kvm * | kvm | ) |
Definition at line 400 of file irq_comm.c.


| void kvm_unregister_irq_mask_notifier | ( | struct kvm * | kvm, |
| int | irq, | ||
| struct kvm_irq_mask_notifier * | kimn | ||
| ) |
|
static |
Definition at line 364 of file irq_comm.c.
|
static |
Definition at line 392 of file irq_comm.c.