diff -r dcb9da42bfd0 xen/include/asm-x86/hvm/vcpu.h --- a/xen/include/asm-x86/hvm/vcpu.h Tue May 11 15:03:37 2010 +0200 +++ b/xen/include/asm-x86/hvm/vcpu.h Tue May 11 15:33:12 2010 +0200 @@ -75,6 +75,9 @@ struct hvm_vcpu { u32 msr_tsc_aux; + /* VPMU */ + struct vpmu_struct vpmu; + union { struct arch_vmx_struct vmx; struct arch_svm_struct svm; diff -r dcb9da42bfd0 xen/include/asm-x86/hvm/vmx/vmcs.h --- a/xen/include/asm-x86/hvm/vmx/vmcs.h Tue May 11 15:03:37 2010 +0200 +++ b/xen/include/asm-x86/hvm/vmx/vmcs.h Tue May 11 15:33:12 2010 +0200 @@ -90,9 +90,6 @@ struct arch_vmx_struct { /* Cache of cpu execution control. */ u32 exec_control; u32 secondary_exec_control; - - /* PMU */ - struct vpmu_struct vpmu; #ifdef __x86_64__ struct vmx_msr_state msr_state; diff -r dcb9da42bfd0 xen/include/asm-x86/hvm/vpmu.h --- a/xen/include/asm-x86/hvm/vpmu.h Tue May 11 15:03:37 2010 +0200 +++ b/xen/include/asm-x86/hvm/vpmu.h Tue May 11 15:33:12 2010 +0200 @@ -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