VPMU: Make vpmu stucture visiable for both vmx and svm
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 13 May 2010 07:55:41 +0000 (08:55 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 13 May 2010 07:55:41 +0000 (08:55 +0100)
Signed-off-by: Wei Wang <wei.wang2@amd.com>
xen/include/asm-x86/hvm/vcpu.h
xen/include/asm-x86/hvm/vmx/vmcs.h
xen/include/asm-x86/hvm/vpmu.h

index ed6b250ff942a2663dca0aa617bf3f5e09bef25b..150b30d32dfd7942ecc8956e7220d1586e4c7c48 100644 (file)
@@ -76,6 +76,9 @@ struct hvm_vcpu {
 
     u32                 msr_tsc_aux;
 
+    /* VPMU */
+    struct vpmu_struct  vpmu;
+
     union {
         struct arch_vmx_struct vmx;
         struct arch_svm_struct svm;
index e8bd7766412e81bde5126d2eed2bc55deb4d665f..29172e0d53bea3b12fef1074e9bf7e327929fafb 100644 (file)
@@ -91,9 +91,6 @@ struct arch_vmx_struct {
     u32                  exec_control;
     u32                  secondary_exec_control;
 
-    /* PMU */
-    struct vpmu_struct   vpmu;
-
 #ifdef __x86_64__
     struct vmx_msr_state msr_state;
     unsigned long        shadow_gs;
index 5f5f2e344ff0245fec5f68c63fbc738a51f8d503..2baf8f29c7100815348b3505a645af6fd9767e89 100644 (file)
@@ -23,9 +23,9 @@
 #define __ASM_X86_HVM_VPMU_H_
 
 #define msraddr_to_bitpos(x) (((x)&0xffff) + ((x)>>31)*0x2000)
-#define vcpu_vpmu(vcpu)   (&(vcpu)->arch.hvm_vcpu.u.vmx.vpmu)
+#define vcpu_vpmu(vcpu)   (&((vcpu)->arch.hvm_vcpu.vpmu))
 #define vpmu_vcpu(vpmu)   (container_of((vpmu), struct vcpu, \
-                                          arch.hvm_vcpu.u.vmx.vpmu))
+                                          arch.hvm_vcpu.vpmu))
 #define vpmu_domain(vpmu) (vpmu_vcpu(vpmu)->domain)
 
 #define MSR_TYPE_COUNTER            0