diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 5454f94d18..1b894d0124 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -569,6 +569,9 @@ int arch_vcpu_create(struct vcpu *v) vmce_init_vcpu(v); arch_vcpu_regs_init(v); + + if ( (rc = init_vcpu_msr_policy(v)) ) + goto fail; } else if ( (rc = xstate_alloc_save_area(v)) != 0 ) return rc; @@ -594,9 +597,6 @@ int arch_vcpu_create(struct vcpu *v) { vpmu_initialise(v); - if ( (rc = init_vcpu_msr_policy(v)) ) - goto fail; - cpuid_policy_updated(v); }