|
KVM
|
#include <linux/kvm_host.h>#include <linux/kvm.h>#include <linux/mm.h>#include <linux/highmem.h>#include <linux/smp.h>#include <linux/hrtimer.h>#include <linux/io.h>#include <linux/slab.h>#include <linux/export.h>#include <linux/nospec.h>#include <asm/processor.h>#include <asm/page.h>#include <asm/current.h>#include <trace/events/kvm.h>#include "ioapic.h"#include "lapic.h"#include "irq.h"
Go to the source code of this file.
Macros | |
| #define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
| #define | IOAPIC_SUCCESSIVE_IRQ_MAX_COUNT 10000 |
Functions | |
| static int | ioapic_service (struct kvm_ioapic *vioapic, int irq, bool line_status) |
| static void | kvm_ioapic_update_eoi_one (struct kvm_vcpu *vcpu, struct kvm_ioapic *ioapic, int trigger_mode, int pin) |
| static unsigned long | ioapic_read_indirect (struct kvm_ioapic *ioapic) |
| static void | rtc_irq_eoi_tracking_reset (struct kvm_ioapic *ioapic) |
| static void | kvm_rtc_eoi_tracking_restore_all (struct kvm_ioapic *ioapic) |
| static void | rtc_status_pending_eoi_check_valid (struct kvm_ioapic *ioapic) |
| static void | __rtc_irq_eoi_tracking_restore_one (struct kvm_vcpu *vcpu) |
| void | kvm_rtc_eoi_tracking_restore_one (struct kvm_vcpu *vcpu) |
| static void | rtc_irq_eoi (struct kvm_ioapic *ioapic, struct kvm_vcpu *vcpu, int vector) |
| static bool | rtc_irq_check_coalesced (struct kvm_ioapic *ioapic) |
| static void | ioapic_lazy_update_eoi (struct kvm_ioapic *ioapic, int irq) |
| static int | ioapic_set_irq (struct kvm_ioapic *ioapic, unsigned int irq, int irq_level, bool line_status) |
| static void | kvm_ioapic_inject_all (struct kvm_ioapic *ioapic, unsigned long irr) |
| void | kvm_ioapic_scan_entry (struct kvm_vcpu *vcpu, ulong *ioapic_handled_vectors) |
| void | kvm_arch_post_irq_ack_notifier_list_update (struct kvm *kvm) |
| static void | ioapic_write_indirect (struct kvm_ioapic *ioapic, u32 val) |
| int | kvm_ioapic_set_irq (struct kvm_ioapic *ioapic, int irq, int irq_source_id, int level, bool line_status) |
| void | kvm_ioapic_clear_all (struct kvm_ioapic *ioapic, int irq_source_id) |
| static void | kvm_ioapic_eoi_inject_work (struct work_struct *work) |
| void | kvm_ioapic_update_eoi (struct kvm_vcpu *vcpu, int vector, int trigger_mode) |
| static struct kvm_ioapic * | to_ioapic (struct kvm_io_device *dev) |
| static int | ioapic_in_range (struct kvm_ioapic *ioapic, gpa_t addr) |
| static int | ioapic_mmio_read (struct kvm_vcpu *vcpu, struct kvm_io_device *this, gpa_t addr, int len, void *val) |
| static int | ioapic_mmio_write (struct kvm_vcpu *vcpu, struct kvm_io_device *this, gpa_t addr, int len, const void *val) |
| static void | kvm_ioapic_reset (struct kvm_ioapic *ioapic) |
| int | kvm_ioapic_init (struct kvm *kvm) |
| void | kvm_ioapic_destroy (struct kvm *kvm) |
| void | kvm_get_ioapic (struct kvm *kvm, struct kvm_ioapic_state *state) |
| void | kvm_set_ioapic (struct kvm *kvm, struct kvm_ioapic_state *state) |
Variables | |
| static const struct kvm_io_device_ops | ioapic_mmio_ops |
|
static |
Definition at line 109 of file ioapic.c.


|
inlinestatic |
|
static |
Definition at line 184 of file ioapic.c.


|
static |
Definition at line 607 of file ioapic.c.

|
static |
Definition at line 649 of file ioapic.c.

|
static |
|
static |
Definition at line 442 of file ioapic.c.


|
static |
Definition at line 206 of file ioapic.c.


|
static |
Definition at line 316 of file ioapic.c.


| void kvm_arch_post_irq_ack_notifier_list_update | ( | struct kvm * | kvm | ) |
| void kvm_get_ioapic | ( | struct kvm * | kvm, |
| struct kvm_ioapic_state * | state | ||
| ) |
| void kvm_ioapic_clear_all | ( | struct kvm_ioapic * | ioapic, |
| int | irq_source_id | ||
| ) |
| void kvm_ioapic_destroy | ( | struct kvm * | kvm | ) |
Definition at line 740 of file ioapic.c.


|
static |
| int kvm_ioapic_init | ( | struct kvm * | kvm | ) |
Definition at line 714 of file ioapic.c.


|
static |
Definition at line 266 of file ioapic.c.


|
static |
| void kvm_ioapic_scan_entry | ( | struct kvm_vcpu * | vcpu, |
| ulong * | ioapic_handled_vectors | ||
| ) |
| int kvm_ioapic_set_irq | ( | struct kvm_ioapic * | ioapic, |
| int | irq, | ||
| int | irq_source_id, | ||
| int | level, | ||
| bool | line_status | ||
| ) |
| void kvm_ioapic_update_eoi | ( | struct kvm_vcpu * | vcpu, |
| int | vector, | ||
| int | trigger_mode | ||
| ) |
Definition at line 579 of file ioapic.c.


|
static |
Definition at line 531 of file ioapic.c.


|
static |
Definition at line 148 of file ioapic.c.


| void kvm_rtc_eoi_tracking_restore_one | ( | struct kvm_vcpu * | vcpu | ) |
| void kvm_set_ioapic | ( | struct kvm * | kvm, |
| struct kvm_ioapic_state * | state | ||
| ) |
Definition at line 765 of file ioapic.c.


|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
|
static |