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 "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 #define NUM_DB_REGS 4
 22 
 23 struct kvm_vcpu;
 24 
 25 struct vcpu_svm {
 26         struct kvm_vcpu vcpu;
 27         struct vmcb *vmcb;
 28         unsigned long vmcb_pa;
 29         struct svm_cpu_data *svm_data;
 30         uint64_t asid_generation;
 31 
 32         unsigned long db_regs[NUM_DB_REGS];
 33 
 34         u64 next_rip;
 35 
 36         u64 host_user_msrs[NR_HOST_SAVE_USER_MSRS];
 37         u64 host_gs_base;
 38         unsigned long host_cr2;
 39         unsigned long host_db_regs[NUM_DB_REGS];
 40         unsigned long host_dr6;
 41         unsigned long host_dr7;
 42 };
 43 
 44 #endif
 45 
 46 
  This page was automatically generated by the LXR engine.