Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
kvm_x86_ops Struct Reference

#include <kvm_host.h>

Data Fields

int(* cpu_has_kvm_support )(void)
 
int(* disabled_by_bios )(void)
 
int(* hardware_enable )(void *dummy)
 
void(* hardware_disable )(void *dummy)
 
void(* check_processor_compatibility )(void *rtn)
 
int(* hardware_setup )(void)
 
void(* hardware_unsetup )(void)
 
bool(* cpu_has_accelerated_tpr )(void)
 
void(* cpuid_update )(struct kvm_vcpu *vcpu)
 
struct kvm_vcpu *(* vcpu_create )(struct kvm *kvm, unsigned id)
 
void(* vcpu_free )(struct kvm_vcpu *vcpu)
 
int(* vcpu_reset )(struct kvm_vcpu *vcpu)
 
void(* prepare_guest_switch )(struct kvm_vcpu *vcpu)
 
void(* vcpu_load )(struct kvm_vcpu *vcpu, int cpu)
 
void(* vcpu_put )(struct kvm_vcpu *vcpu)
 
void(* update_db_bp_intercept )(struct kvm_vcpu *vcpu)
 
int(* get_msr )(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
 
int(* set_msr )(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
 
u64(* get_segment_base )(struct kvm_vcpu *vcpu, int seg)
 
void(* get_segment )(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg)
 
int(* get_cpl )(struct kvm_vcpu *vcpu)
 
void(* set_segment )(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg)
 
void(* get_cs_db_l_bits )(struct kvm_vcpu *vcpu, int *db, int *l)
 
void(* decache_cr0_guest_bits )(struct kvm_vcpu *vcpu)
 
void(* decache_cr3 )(struct kvm_vcpu *vcpu)
 
void(* decache_cr4_guest_bits )(struct kvm_vcpu *vcpu)
 
void(* set_cr0 )(struct kvm_vcpu *vcpu, unsigned long cr0)
 
void(* set_cr3 )(struct kvm_vcpu *vcpu, unsigned long cr3)
 
int(* set_cr4 )(struct kvm_vcpu *vcpu, unsigned long cr4)
 
void(* set_efer )(struct kvm_vcpu *vcpu, u64 efer)
 
void(* get_idt )(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
 
void(* set_idt )(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
 
void(* get_gdt )(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
 
void(* set_gdt )(struct kvm_vcpu *vcpu, struct desc_ptr *dt)
 
void(* set_dr7 )(struct kvm_vcpu *vcpu, unsigned long value)
 
void(* cache_reg )(struct kvm_vcpu *vcpu, enum kvm_reg reg)
 
unsigned long(* get_rflags )(struct kvm_vcpu *vcpu)
 
void(* set_rflags )(struct kvm_vcpu *vcpu, unsigned long rflags)
 
void(* fpu_activate )(struct kvm_vcpu *vcpu)
 
void(* fpu_deactivate )(struct kvm_vcpu *vcpu)
 
void(* tlb_flush )(struct kvm_vcpu *vcpu)
 
void(* run )(struct kvm_vcpu *vcpu)
 
int(* handle_exit )(struct kvm_vcpu *vcpu)
 
void(* skip_emulated_instruction )(struct kvm_vcpu *vcpu)
 
void(* set_interrupt_shadow )(struct kvm_vcpu *vcpu, int mask)
 
u32(* get_interrupt_shadow )(struct kvm_vcpu *vcpu, int mask)
 
void(* patch_hypercall )(struct kvm_vcpu *vcpu, unsigned char *hypercall_addr)
 
void(* set_irq )(struct kvm_vcpu *vcpu)
 
void(* set_nmi )(struct kvm_vcpu *vcpu)
 
void(* queue_exception )(struct kvm_vcpu *vcpu, unsigned nr, bool has_error_code, u32 error_code, bool reinject)
 
void(* cancel_injection )(struct kvm_vcpu *vcpu)
 
int(* interrupt_allowed )(struct kvm_vcpu *vcpu)
 
int(* nmi_allowed )(struct kvm_vcpu *vcpu)
 
bool(* get_nmi_mask )(struct kvm_vcpu *vcpu)
 
void(* set_nmi_mask )(struct kvm_vcpu *vcpu, bool masked)
 
void(* enable_nmi_window )(struct kvm_vcpu *vcpu)
 
void(* enable_irq_window )(struct kvm_vcpu *vcpu)
 
void(* update_cr8_intercept )(struct kvm_vcpu *vcpu, int tpr, int irr)
 
int(* set_tss_addr )(struct kvm *kvm, unsigned int addr)
 
int(* get_tdp_level )(void)
 
u64(* get_mt_mask )(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio)
 
int(* get_lpage_level )(void)
 
bool(* rdtscp_supported )(void)
 
bool(* invpcid_supported )(void)
 
void(* adjust_tsc_offset )(struct kvm_vcpu *vcpu, s64 adjustment, bool host)
 
void(* set_tdp_cr3 )(struct kvm_vcpu *vcpu, unsigned long cr3)
 
void(* set_supported_cpuid )(u32 func, struct kvm_cpuid_entry2 *entry)
 
bool(* has_wbinvd_exit )(void)
 
void(* set_tsc_khz )(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)
 
void(* write_tsc_offset )(struct kvm_vcpu *vcpu, u64 offset)
 
u64(* compute_tsc_offset )(struct kvm_vcpu *vcpu, u64 target_tsc)
 
u64(* read_l1_tsc )(struct kvm_vcpu *vcpu)
 
void(* get_exit_info )(struct kvm_vcpu *vcpu, u64 *info1, u64 *info2)
 
int(* check_intercept )(struct kvm_vcpu *vcpu, struct x86_instruction_info *info, enum x86_intercept_stage stage)
 

Detailed Description

Definition at line 615 of file kvm_host.h.

Field Documentation

void(* adjust_tsc_offset)(struct kvm_vcpu *vcpu, s64 adjustment, bool host)

Definition at line 691 of file kvm_host.h.

void(* cache_reg)(struct kvm_vcpu *vcpu, enum kvm_reg reg)

Definition at line 657 of file kvm_host.h.

void(* cancel_injection)(struct kvm_vcpu *vcpu)

Definition at line 677 of file kvm_host.h.

int(* check_intercept)(struct kvm_vcpu *vcpu, struct x86_instruction_info *info, enum x86_intercept_stage stage)

Definition at line 707 of file kvm_host.h.

void(* check_processor_compatibility)(void *rtn)

Definition at line 620 of file kvm_host.h.

u64(* compute_tsc_offset)(struct kvm_vcpu *vcpu, u64 target_tsc)

Definition at line 702 of file kvm_host.h.

bool(* cpu_has_accelerated_tpr)(void)

Definition at line 623 of file kvm_host.h.

int(* cpu_has_kvm_support)(void)

Definition at line 616 of file kvm_host.h.

void(* cpuid_update)(struct kvm_vcpu *vcpu)

Definition at line 624 of file kvm_host.h.

void(* decache_cr0_guest_bits)(struct kvm_vcpu *vcpu)

Definition at line 645 of file kvm_host.h.

void(* decache_cr3)(struct kvm_vcpu *vcpu)

Definition at line 646 of file kvm_host.h.

void(* decache_cr4_guest_bits)(struct kvm_vcpu *vcpu)

Definition at line 647 of file kvm_host.h.

int(* disabled_by_bios)(void)

Definition at line 617 of file kvm_host.h.

void(* enable_irq_window)(struct kvm_vcpu *vcpu)

Definition at line 683 of file kvm_host.h.

void(* enable_nmi_window)(struct kvm_vcpu *vcpu)

Definition at line 682 of file kvm_host.h.

void(* fpu_activate)(struct kvm_vcpu *vcpu)

Definition at line 660 of file kvm_host.h.

void(* fpu_deactivate)(struct kvm_vcpu *vcpu)

Definition at line 661 of file kvm_host.h.

int(* get_cpl)(struct kvm_vcpu *vcpu)

Definition at line 641 of file kvm_host.h.

void(* get_cs_db_l_bits)(struct kvm_vcpu *vcpu, int *db, int *l)

Definition at line 644 of file kvm_host.h.

void(* get_exit_info)(struct kvm_vcpu *vcpu, u64 *info1, u64 *info2)

Definition at line 705 of file kvm_host.h.

void(* get_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt)

Definition at line 654 of file kvm_host.h.

void(* get_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt)

Definition at line 652 of file kvm_host.h.

u32(* get_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask)

Definition at line 669 of file kvm_host.h.

int(* get_lpage_level)(void)

Definition at line 688 of file kvm_host.h.

int(* get_msr)(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)

Definition at line 636 of file kvm_host.h.

u64(* get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio)

Definition at line 687 of file kvm_host.h.

bool(* get_nmi_mask)(struct kvm_vcpu *vcpu)

Definition at line 680 of file kvm_host.h.

unsigned long(* get_rflags)(struct kvm_vcpu *vcpu)

Definition at line 658 of file kvm_host.h.

void(* get_segment)(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg)

Definition at line 639 of file kvm_host.h.

u64(* get_segment_base)(struct kvm_vcpu *vcpu, int seg)

Definition at line 638 of file kvm_host.h.

int(* get_tdp_level)(void)

Definition at line 686 of file kvm_host.h.

int(* handle_exit)(struct kvm_vcpu *vcpu)

Definition at line 666 of file kvm_host.h.

void(* hardware_disable)(void *dummy)

Definition at line 619 of file kvm_host.h.

int(* hardware_enable)(void *dummy)

Definition at line 618 of file kvm_host.h.

int(* hardware_setup)(void)

Definition at line 621 of file kvm_host.h.

void(* hardware_unsetup)(void)

Definition at line 622 of file kvm_host.h.

bool(* has_wbinvd_exit)(void)

Definition at line 697 of file kvm_host.h.

int(* interrupt_allowed)(struct kvm_vcpu *vcpu)

Definition at line 678 of file kvm_host.h.

bool(* invpcid_supported)(void)

Definition at line 690 of file kvm_host.h.

int(* nmi_allowed)(struct kvm_vcpu *vcpu)

Definition at line 679 of file kvm_host.h.

void(* patch_hypercall)(struct kvm_vcpu *vcpu, unsigned char *hypercall_addr)

Definition at line 670 of file kvm_host.h.

void(* prepare_guest_switch)(struct kvm_vcpu *vcpu)

Definition at line 631 of file kvm_host.h.

void(* queue_exception)(struct kvm_vcpu *vcpu, unsigned nr, bool has_error_code, u32 error_code, bool reinject)

Definition at line 674 of file kvm_host.h.

bool(* rdtscp_supported)(void)

Definition at line 689 of file kvm_host.h.

u64(* read_l1_tsc)(struct kvm_vcpu *vcpu)

Definition at line 703 of file kvm_host.h.

void(* run)(struct kvm_vcpu *vcpu)

Definition at line 665 of file kvm_host.h.

void(* set_cr0)(struct kvm_vcpu *vcpu, unsigned long cr0)

Definition at line 648 of file kvm_host.h.

void(* set_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3)

Definition at line 649 of file kvm_host.h.

int(* set_cr4)(struct kvm_vcpu *vcpu, unsigned long cr4)

Definition at line 650 of file kvm_host.h.

void(* set_dr7)(struct kvm_vcpu *vcpu, unsigned long value)

Definition at line 656 of file kvm_host.h.

void(* set_efer)(struct kvm_vcpu *vcpu, u64 efer)

Definition at line 651 of file kvm_host.h.

void(* set_gdt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt)

Definition at line 655 of file kvm_host.h.

void(* set_idt)(struct kvm_vcpu *vcpu, struct desc_ptr *dt)

Definition at line 653 of file kvm_host.h.

void(* set_interrupt_shadow)(struct kvm_vcpu *vcpu, int mask)

Definition at line 668 of file kvm_host.h.

void(* set_irq)(struct kvm_vcpu *vcpu)

Definition at line 672 of file kvm_host.h.

int(* set_msr)(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)

Definition at line 637 of file kvm_host.h.

void(* set_nmi)(struct kvm_vcpu *vcpu)

Definition at line 673 of file kvm_host.h.

void(* set_nmi_mask)(struct kvm_vcpu *vcpu, bool masked)

Definition at line 681 of file kvm_host.h.

void(* set_rflags)(struct kvm_vcpu *vcpu, unsigned long rflags)

Definition at line 659 of file kvm_host.h.

void(* set_segment)(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg)

Definition at line 642 of file kvm_host.h.

void(* set_supported_cpuid)(u32 func, struct kvm_cpuid_entry2 *entry)

Definition at line 695 of file kvm_host.h.

void(* set_tdp_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3)

Definition at line 693 of file kvm_host.h.

void(* set_tsc_khz)(struct kvm_vcpu *vcpu, u32 user_tsc_khz, bool scale)

Definition at line 699 of file kvm_host.h.

int(* set_tss_addr)(struct kvm *kvm, unsigned int addr)

Definition at line 685 of file kvm_host.h.

void(* skip_emulated_instruction)(struct kvm_vcpu *vcpu)

Definition at line 667 of file kvm_host.h.

void(* tlb_flush)(struct kvm_vcpu *vcpu)

Definition at line 663 of file kvm_host.h.

void(* update_cr8_intercept)(struct kvm_vcpu *vcpu, int tpr, int irr)

Definition at line 684 of file kvm_host.h.

void(* update_db_bp_intercept)(struct kvm_vcpu *vcpu)

Definition at line 635 of file kvm_host.h.

struct kvm_vcpu*(* vcpu_create)(struct kvm *kvm, unsigned id)
read

Definition at line 627 of file kvm_host.h.

void(* vcpu_free)(struct kvm_vcpu *vcpu)

Definition at line 628 of file kvm_host.h.

void(* vcpu_load)(struct kvm_vcpu *vcpu, int cpu)

Definition at line 632 of file kvm_host.h.

void(* vcpu_put)(struct kvm_vcpu *vcpu)

Definition at line 633 of file kvm_host.h.

int(* vcpu_reset)(struct kvm_vcpu *vcpu)

Definition at line 629 of file kvm_host.h.

void(* write_tsc_offset)(struct kvm_vcpu *vcpu, u64 offset)

Definition at line 700 of file kvm_host.h.


The documentation for this struct was generated from the following file: