Linux Kernel
3.7.1
|
#include <linux/types.h>
#include <linux/mm.h>
#include <linux/mmu_notifier.h>
#include <linux/tracepoint.h>
#include <linux/cpumask.h>
#include <linux/irq_work.h>
#include <linux/kvm.h>
#include <linux/kvm_para.h>
#include <linux/kvm_types.h>
#include <linux/perf_event.h>
#include <asm/pvclock-abi.h>
#include <asm/desc.h>
#include <asm/mtrr.h>
#include <asm/msr-index.h>
#include <asm/asm.h>
#include <asm/kvm_emulate.h>
Go to the source code of this file.
Data Structures | |
struct | kvm_mmu_memory_cache |
union | kvm_mmu_page_role |
struct | kvm_mmu_page |
struct | kvm_pio_request |
struct | kvm_mmu |
struct | kvm_pmc |
struct | kvm_pmu |
struct | kvm_vcpu_arch |
struct | kvm_vcpu_arch::kvm_queued_exception |
struct | kvm_vcpu_arch::kvm_queued_interrupt |
struct | kvm_lpage_info |
struct | kvm_arch_memory_slot |
struct | kvm_apic_map |
struct | kvm_arch |
struct | kvm_vm_stat |
struct | kvm_vcpu_stat |
struct | kvm_x86_ops |
struct | kvm_arch_async_pf |
Enumerations | |
enum | kvm_reg { VCPU_REGS_RAX = 0, VCPU_REGS_RCX = 1, VCPU_REGS_RDX = 2, VCPU_REGS_RBX = 3, VCPU_REGS_RSP = 4, VCPU_REGS_RBP = 5, VCPU_REGS_RSI = 6, VCPU_REGS_RDI = 7, VCPU_REGS_RIP, NR_VCPU_REGS } |
enum | kvm_reg_ex { VCPU_EXREG_PDPTR = NR_VCPU_REGS, VCPU_EXREG_CR3, VCPU_EXREG_RFLAGS, VCPU_EXREG_CPL, VCPU_EXREG_SEGMENTS } |
enum | { VCPU_SREG_ES, VCPU_SREG_CS, VCPU_SREG_SS, VCPU_SREG_DS, VCPU_SREG_FS, VCPU_SREG_GS, VCPU_SREG_TR, VCPU_SREG_LDTR } |
enum | pmc_type { KVM_PMC_GP = 0, KVM_PMC_FIXED } |
enum | emulation_result { EMULATE_DONE, EMULATE_DO_MMIO, EMULATE_DO_DCR, EMULATE_FAIL, EMULATE_AGAIN, EMULATE_DONE, EMULATE_DO_MMIO, EMULATE_FAIL } |
enum | { TASK_SWITCH_CALL = 0, TASK_SWITCH_IRET = 1, TASK_SWITCH_JMP = 2, TASK_SWITCH_GATE = 3 } |
#define ____kvm_handle_fault_on_reboot | ( | insn, | |
cleanup_insn | |||
) |
Definition at line 955 of file kvm_host.h.
#define __kvm_handle_fault_on_reboot | ( | insn | ) | ____kvm_handle_fault_on_reboot(insn, "") |
Definition at line 968 of file kvm_host.h.
#define ASYNC_PF_PER_VCPU 64 |
Definition at line 93 of file kvm_host.h.
#define CR0_RESERVED_BITS |
Definition at line 44 of file kvm_host.h.
#define CR3_L_MODE_RESERVED_BITS |
Definition at line 52 of file kvm_host.h.
#define CR3_NONPAE_RESERVED_BITS ((PAGE_SIZE-1) & ~(X86_CR3_PWT | X86_CR3_PCD)) |
Definition at line 50 of file kvm_host.h.
#define CR3_PAE_RESERVED_BITS ((X86_CR3_PWT | X86_CR3_PCD) - 1) |
Definition at line 49 of file kvm_host.h.
#define CR3_PCID_ENABLED_RESERVED_BITS 0xFFFFFF0000000000ULL |
Definition at line 51 of file kvm_host.h.
#define CR4_RESERVED_BITS |
Definition at line 54 of file kvm_host.h.
#define CR8_RESERVED_BITS (~(unsigned long)X86_CR8_TPR) |
Definition at line 61 of file kvm_host.h.
#define DR6_BD (1 << 13) |
Definition at line 150 of file kvm_host.h.
#define DR6_BS (1 << 14) |
Definition at line 151 of file kvm_host.h.
#define DR6_FIXED_1 0xffff0ff0 |
Definition at line 152 of file kvm_host.h.
#define DR6_VOLATILE 0x0000e00f |
Definition at line 153 of file kvm_host.h.
#define DR7_BP_EN_MASK 0x000000ff |
Definition at line 155 of file kvm_host.h.
#define DR7_FIXED_1 0x00000400 |
Definition at line 158 of file kvm_host.h.
#define DR7_GD (1 << 13) |
Definition at line 157 of file kvm_host.h.
#define DR7_GE (1 << 9) |
Definition at line 156 of file kvm_host.h.
#define DR7_VOLATILE 0xffff23ff |
Definition at line 159 of file kvm_host.h.
#define EMULTYPE_NO_DECODE (1 << 0) |
Definition at line 773 of file kvm_host.h.
#define EMULTYPE_RETRY (1 << 3) |
Definition at line 776 of file kvm_host.h.
#define EMULTYPE_SKIP (1 << 2) |
Definition at line 775 of file kvm_host.h.
#define EMULTYPE_TRAP_UD (1 << 1) |
Definition at line 774 of file kvm_host.h.
#define HF_GIF_MASK (1 << 0) |
Definition at line 940 of file kvm_host.h.
Definition at line 945 of file kvm_host.h.
#define HF_HIF_MASK (1 << 1) |
Definition at line 941 of file kvm_host.h.
#define HF_IRET_MASK (1 << 4) |
Definition at line 944 of file kvm_host.h.
#define HF_NMI_MASK (1 << 3) |
Definition at line 943 of file kvm_host.h.
#define HF_VINTR_MASK (1 << 2) |
Definition at line 942 of file kvm_host.h.
#define INVALID_PAGE (~(hpa_t)0) |
Definition at line 65 of file kvm_host.h.
#define IOPL_SHIFT 12 |
Definition at line 81 of file kvm_host.h.
#define KVM_APIC_CHECK_VAPIC 0 |
Definition at line 162 of file kvm_host.h.
#define KVM_APIC_PV_EOI_PENDING 1 |
Definition at line 169 of file kvm_host.h.
#define KVM_ARCH_WANT_MMU_NOTIFIER |
Definition at line 971 of file kvm_host.h.
#define KVM_COALESCED_MMIO_PAGE_OFFSET 2 |
Definition at line 42 of file kvm_host.h.
Definition at line 72 of file kvm_host.h.
#define KVM_HPAGE_MASK | ( | x | ) | (~(KVM_HPAGE_SIZE(x) - 1)) |
Definition at line 75 of file kvm_host.h.
#define KVM_HPAGE_SHIFT | ( | x | ) | (PAGE_SHIFT + KVM_HPAGE_GFN_SHIFT(x)) |
Definition at line 73 of file kvm_host.h.
#define KVM_HPAGE_SIZE | ( | x | ) | (1UL << KVM_HPAGE_SHIFT(x)) |
Definition at line 74 of file kvm_host.h.
#define KVM_MAX_CPUID_ENTRIES 80 |
Definition at line 89 of file kvm_host.h.
#define KVM_MAX_VCPUS 254 |
Definition at line 32 of file kvm_host.h.
#define KVM_MEM_SLOTS_NUM (KVM_MEMORY_SLOTS + KVM_PRIVATE_MEM_SLOTS) |
Definition at line 37 of file kvm_host.h.
#define KVM_MEMORY_SLOTS 32 |
Definition at line 34 of file kvm_host.h.
#define KVM_MIN_ALLOC_MMU_PAGES 64 |
Definition at line 84 of file kvm_host.h.
#define KVM_MIN_FREE_MMU_PAGES 5 |
Definition at line 87 of file kvm_host.h.
#define KVM_MMIO_SIZE 16 |
Definition at line 39 of file kvm_host.h.
#define KVM_MMU_HASH_SHIFT 10 |
Definition at line 85 of file kvm_host.h.
#define KVM_NR_DB_REGS 4 |
Definition at line 148 of file kvm_host.h.
#define KVM_NR_FIXED_MTRR_REGION 88 |
Definition at line 90 of file kvm_host.h.
#define KVM_NR_MEM_OBJS 40 |
Definition at line 146 of file kvm_host.h.
#define KVM_NR_PAGE_SIZES 3 |
Definition at line 71 of file kvm_host.h.
#define KVM_NR_VAR_MTRR 8 |
Definition at line 91 of file kvm_host.h.
#define KVM_NUM_MMU_PAGES (1 << KVM_MMU_HASH_SHIFT) |
Definition at line 86 of file kvm_host.h.
#define KVM_PAGES_PER_HPAGE | ( | x | ) | (KVM_HPAGE_SIZE(x) / PAGE_SIZE) |
Definition at line 76 of file kvm_host.h.
#define KVM_PERMILLE_MMU_PAGES 20 |
Definition at line 83 of file kvm_host.h.
#define KVM_PIO_PAGE_OFFSET 1 |
Definition at line 41 of file kvm_host.h.
#define KVM_PRIVATE_MEM_SLOTS 4 |
Definition at line 36 of file kvm_host.h.
#define KVM_REFILL_PAGES 25 |
Definition at line 88 of file kvm_host.h.
#define KVM_SOFT_MAX_VCPUS 160 |
Definition at line 33 of file kvm_host.h.
#define RMODE_TSS_SIZE (TSS_BASE_SIZE + TSS_REDIRECTION_SIZE + TSS_IOPB_SIZE + 1) |
Definition at line 930 of file kvm_host.h.
#define SELECTOR_RPL_MASK 0x03 |
Definition at line 79 of file kvm_host.h.
#define SELECTOR_TI_MASK (1 << 2) |
Definition at line 78 of file kvm_host.h.
#define TSS_BASE_SIZE 0x68 |
Definition at line 927 of file kvm_host.h.
#define TSS_IOPB_BASE_OFFSET 0x66 |
Definition at line 926 of file kvm_host.h.
#define TSS_IOPB_SIZE (65536 / 8) |
Definition at line 928 of file kvm_host.h.
#define TSS_REDIRECTION_SIZE (256 / 8) |
Definition at line 929 of file kvm_host.h.
#define UNMAPPED_GVA (~(gpa_t)0) |
Definition at line 68 of file kvm_host.h.
#define VALID_PAGE | ( | x | ) | ((x) != INVALID_PAGE) |
Definition at line 66 of file kvm_host.h.
anonymous enum |
VCPU_SREG_ES | |
VCPU_SREG_CS | |
VCPU_SREG_SS | |
VCPU_SREG_DS | |
VCPU_SREG_FS | |
VCPU_SREG_GS | |
VCPU_SREG_TR | |
VCPU_SREG_LDTR |
Definition at line 133 of file kvm_host.h.
anonymous enum |
Definition at line 933 of file kvm_host.h.
enum emulation_result |
EMULATE_DONE | |
EMULATE_DO_MMIO | |
EMULATE_DO_DCR | |
EMULATE_FAIL | |
EMULATE_AGAIN | |
EMULATE_DONE | |
EMULATE_DO_MMIO | |
EMULATE_FAIL |
Definition at line 767 of file kvm_host.h.
enum kvm_reg |
VCPU_REGS_RAX | |
VCPU_REGS_RCX | |
VCPU_REGS_RDX | |
VCPU_REGS_RBX | |
VCPU_REGS_RSP | |
VCPU_REGS_RBP | |
VCPU_REGS_RSI | |
VCPU_REGS_RDI | |
VCPU_REGS_RIP | |
NR_VCPU_REGS |
Definition at line 102 of file kvm_host.h.
enum kvm_reg_ex |
Definition at line 125 of file kvm_host.h.
enum pmc_type |
Definition at line 297 of file kvm_host.h.
Definition at line 929 of file book3s_64_mmu_hv.c.
Definition at line 448 of file kvm-ia64.c.
void kvm_inject_page_fault | ( | struct kvm_vcpu * | vcpu, |
struct x86_exception * | fault | ||
) |
void kvm_mmu_write_protect_pt_masked | ( | struct kvm * | kvm, |
struct kvm_memory_slot * | slot, | ||
gfn_t | gfn_offset, | ||
unsigned long | mask | ||
) |
kvm_mmu_write_protect_pt_masked - write protect selected PT level pages : kvm instance : slot to protect : start of the BITS_PER_LONG pages we care about : indicates which pages we should protect
Used when we do not need to care about huge page mappings: e.g. during dirty logging we do not have any such mappings.
void kvm_propagate_fault | ( | struct kvm_vcpu * | vcpu, |
struct x86_exception * | fault | ||
) |
Definition at line 974 of file book3s_64_mmu_hv.c.
asmlinkage void kvm_spurious_fault | ( | void | ) |
Definition at line 2549 of file kvm_main.c.
Definition at line 967 of file book3s_64_mmu_hv.c.
Definition at line 866 of file book3s_64_mmu_hv.c.
Definition at line 873 of file book3s_64_mmu_hv.c.
raw_spinlock_t kvm_lock |
u32 kvm_min_guest_tsc_khz |
bool kvm_rebooting |
Definition at line 98 of file kvm_main.c.