#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/module.h>
#include <linux/math64.h>
#include <linux/slab.h>
#include <asm/processor.h>
#include <asm/msr.h>
#include <asm/page.h>
#include <asm/current.h>
#include <asm/apicdef.h>
#include <linux/atomic.h>
#include <linux/jump_label.h>
#include "kvm_cache_regs.h"
#include "irq.h"
#include "trace.h"
#include "x86.h"
#include "cpuid.h"
Go to the source code of this file.
|
| module_param (min_timer_period_us, uint, S_IRUGO|S_IWUSR) |
|
void | kvm_apic_set_version (struct kvm_vcpu *vcpu) |
|
int | kvm_lapic_find_highest_irr (struct kvm_vcpu *vcpu) |
|
int | kvm_apic_set_irq (struct kvm_vcpu *vcpu, struct kvm_lapic_irq *irq) |
|
int | kvm_apic_match_physical_addr (struct kvm_lapic *apic, u16 dest) |
|
int | kvm_apic_match_logical_addr (struct kvm_lapic *apic, u8 mda) |
|
int | kvm_apic_match_dest (struct kvm_vcpu *vcpu, struct kvm_lapic *source, int short_hand, int dest, int dest_mode) |
|
bool | kvm_irq_delivery_to_apic_fast (struct kvm *kvm, struct kvm_lapic *src, struct kvm_lapic_irq *irq, int *r) |
|
int | kvm_apic_compare_prio (struct kvm_vcpu *vcpu1, struct kvm_vcpu *vcpu2) |
|
void | kvm_lapic_set_eoi (struct kvm_vcpu *vcpu) |
|
| EXPORT_SYMBOL_GPL (kvm_lapic_set_eoi) |
|
void | kvm_free_lapic (struct kvm_vcpu *vcpu) |
|
u64 | kvm_get_lapic_tscdeadline_msr (struct kvm_vcpu *vcpu) |
|
void | kvm_set_lapic_tscdeadline_msr (struct kvm_vcpu *vcpu, u64 data) |
|
void | kvm_lapic_set_tpr (struct kvm_vcpu *vcpu, unsigned long cr8) |
|
u64 | kvm_lapic_get_cr8 (struct kvm_vcpu *vcpu) |
|
void | kvm_lapic_set_base (struct kvm_vcpu *vcpu, u64 value) |
|
void | kvm_lapic_reset (struct kvm_vcpu *vcpu) |
|
int | apic_has_pending_timer (struct kvm_vcpu *vcpu) |
|
int | kvm_apic_local_deliver (struct kvm_lapic *apic, int lvt_type) |
|
void | kvm_apic_nmi_wd_deliver (struct kvm_vcpu *vcpu) |
|
int | kvm_create_lapic (struct kvm_vcpu *vcpu) |
|
int | kvm_apic_has_interrupt (struct kvm_vcpu *vcpu) |
|
int | kvm_apic_accept_pic_intr (struct kvm_vcpu *vcpu) |
|
void | kvm_inject_apic_timer_irqs (struct kvm_vcpu *vcpu) |
|
int | kvm_get_apic_interrupt (struct kvm_vcpu *vcpu) |
|
void | kvm_apic_post_state_restore (struct kvm_vcpu *vcpu, struct kvm_lapic_state *s) |
|
void | __kvm_migrate_apic_timer (struct kvm_vcpu *vcpu) |
|
void | kvm_lapic_sync_from_vapic (struct kvm_vcpu *vcpu) |
|
void | kvm_lapic_sync_to_vapic (struct kvm_vcpu *vcpu) |
|
void | kvm_lapic_set_vapic_addr (struct kvm_vcpu *vcpu, gpa_t vapic_addr) |
|
int | kvm_x2apic_msr_write (struct kvm_vcpu *vcpu, u32 msr, u64 data) |
|
int | kvm_x2apic_msr_read (struct kvm_vcpu *vcpu, u32 msr, u64 *data) |
|
int | kvm_hv_vapic_msr_write (struct kvm_vcpu *vcpu, u32 reg, u64 data) |
|
int | kvm_hv_vapic_msr_read (struct kvm_vcpu *vcpu, u32 reg, u64 *data) |
|
int | kvm_lapic_enable_pv_eoi (struct kvm_vcpu *vcpu, u64 data) |
|
void | kvm_lapic_init (void) |
|
#define APIC_BUS_CYCLE_NS 1 |
#define apic_debug |
( |
|
fmt, |
|
|
|
arg... |
|
) |
| |
#define APIC_DEST_MASK 0x800 |
#define APIC_DEST_NOSHORT 0x0 |
#define APIC_SHORT_MASK 0xc0000 |
#define APIC_VECTORS_PER_REG 32 |
#define APIC_VERSION (0x14UL | ((APIC_LVT_NUM - 1) << 16)) |
#define LAPIC_MMIO_LENGTH (1 << 12) |
#define MAX_APIC_VECTOR 256 |
#define mod_64 |
( |
|
x, |
|
|
|
y |
|
) |
| ((x) - (y) * div64_u64(x, y)) |
#define REG_POS |
( |
|
v | ) |
(((v) >> 5) << 4) |
#define VEC_POS |
( |
|
v | ) |
((v) & (32 - 1)) |
module_param |
( |
min_timer_period_us |
, |
|
|
uint |
, |
|
|
S_IRUGO| |
S_IWUSR |
|
) |
| |