Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef __KVM_SVM_H
  2 #define __KVM_SVM_H
  3 
  4 #include <linux/kernel.h>
  5 #include <linux/types.h>
  6 #include <linux/list.h>
  7 #include <linux/kvm_host.h>
  8 #include <asm/msr.h>
  9 
 10 #include <asm/svm.h>
 11 
 12 static const u32 host_save_user_msrs[] = {
 13 #ifdef CONFIG_X86_64
 14         MSR_STAR, MSR_LSTAR, MSR_CSTAR, MSR_SYSCALL_MASK, MSR_KERNEL_GS_BASE,
 15         MSR_FS_BASE,
 16 #endif
 17         MSR_IA32_SYSENTER_CS, MSR_IA32_SYSENTER_ESP, MSR_IA32_SYSENTER_EIP,
 18 };
 19 
 20 #define NR_HOST_SAVE_USER_MSRS ARRAY_SIZE(host_save_user_msrs)
 21 
 22 struct kvm_vcpu;
 23 
 24 struct vcpu_svm {
 25         struct kvm_vcpu vcpu;
 26         struct vmcb *vmcb;
 27         unsigned long vmcb_pa;
 28         struct svm_cpu_data *svm_data;
 29         uint64_t asid_generation;
 30 
 31         u64 next_rip;
 32 
 33         u64 host_user_msrs[NR_HOST_SAVE_USER_MSRS];
 34         u64 host_gs_base;
 35         unsigned long host_cr2;
 36 
 37         u32 *msrpm;
 38         struct vmcb *hsave;
 39         u64 hsave_msr;
 40 
 41         u64 nested_vmcb;
 42 
 43         /* These are the merged vectors */
 44         u32 *nested_msrpm;
 45 
 46         /* gpa pointers to the real vectors */
 47         u64 nested_vmcb_msrpm;
 48 };
 49 
 50 #endif
 51 
 52 
  This page was automatically generated by the LXR engine.