diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 019dc57459..d5ebfbb83a 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -359,6 +359,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; @@ -384,9 +387,6 @@ int arch_vcpu_create(struct vcpu *v) { vpmu_initialise(v); - if ( (rc = init_vcpu_msr_policy(v)) ) - goto fail; - cpuid_policy_updated(v); }