hello > incomplete because it can return 0 for data. Can you try this: > > diff --git a/target/i386/kvm.c b/target/i386/kvm.c > index f524e7d929..4878ffb90b 100644 > --- a/target/i386/kvm.c > +++ b/target/i386/kvm.c > @@ -2002,14 +2002,9 @@ static int kvm_put_msrs(X86CPU *cpu, int level) > #endif > > /* If host supports feature MSR, write down. */ > - if (kvm_feature_msrs) { > - int i; > - for (i = 0; i < kvm_feature_msrs->nmsrs; i++) > - if (kvm_feature_msrs->indices[i] == MSR_IA32_ARCH_CAPABILITIES) > { > - kvm_msr_entry_add(cpu, MSR_IA32_ARCH_CAPABILITIES, > + if (kvm_arch_get_supported_msr_feature(kvm_state, MSR_IA32_ARCH_CAPABILI > TIES)) { > + kvm_msr_entry_add(cpu, MSR_IA32_ARCH_CAPABILITIES, > env->features[FEAT_ARCH_CAPABILITIES]); > - break; > - } > } > > /*
I'm getting the same error message at start time (patch applied to official qemu-3.1.0-rc1 tarball): ----8<---- qemu: error: failed to set MSR 0x10a to 0x0 qemu: /home/balducci/tmp/install-us-d/qemu-3.1.0-rc1.d/qemu-3.1.0-rc1/target/i386/kvm.c:2206: kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed. Aborted ---->8---- thanks a lot ciao -gabriele