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 |