[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/i386: relax assert when old host kernels don't includ
From: |
Catherine Ho |
Subject: |
Re: [PATCH] target/i386: relax assert when old host kernels don't include msrs |
Date: |
Wed, 4 Dec 2019 23:07:39 +0800 |
Hi Paolo
On Wed, 4 Dec 2019 at 21:53, Paolo Bonzini <address@hidden> wrote:
>
> On 04/12/19 14:33, Catherine Ho wrote:
> > Hi Paolo
> > [sorry to resend it, seems to reply it incorrectly]
> >
> > On Wed, 4 Dec 2019 at 19:23, Paolo Bonzini <address@hidden
> > <mailto:address@hidden>> wrote:
> >
> > On 04/12/19 09:50, Catherine Ho wrote:
> > > Commit 20a78b02d315 ("target/i386: add VMX features") unconditionally
> > > add vmx msr entry although older host kernels don't include them.
> > >
> > > But old host kernel + newest qemu will cause a qemu crash as follows:
> > > qemu-system-x86_64: error: failed to set MSR 0x480 to 0x0
> > > target/i386/kvm.c:2932: kvm_put_msrs: Assertion `ret ==
> > > cpu->kvm_msr_buf->nmsrs' failed.
> > >
> > > This fixes it by relaxing the condition.
> >
> > This is intentional. The VMX MSR entries should not have been added.
> > What combination of host kernel/QEMU are you using, and what QEMU
> > command line?
> >
> >
> > Host kernel: 4.15.0 (ubuntu 18.04)
> > Qemu: https://gitlab.com/virtio-fs/qemu/tree/virtio-fs-dev
> > cmdline: qemu-system-x86_64 -M pc -cpu host --enable-kvm -smp 8 \
> > -m 4G,maxmem=4G
> >
> > But before 20a78b02d315, the older kernel + latest qemu can boot guest
> > successfully.
>
> Ok, so the problem is that some MSR didn't exist in that version. Which
I thought in my platform, the only MSR didn't exist is MSR_IA32_VMX_BASIC
(0x480). If I remove this kvm_msr_entry_add(), everything is ok, the guest can
be boot up successfully.
> one it is? Can you make it conditional, similar to MSR_IA32_VMX_VMFUNC?
Ok, I will. Thanks for the suggestion
Best regards
Catherine
- [PATCH] target/i386: relax assert when old host kernels don't include msrs, Catherine Ho, 2019/12/04
- Re: [PATCH] target/i386: relax assert when old host kernels don't include msrs, Paolo Bonzini, 2019/12/04
- Re: [PATCH] target/i386: relax assert when old host kernels don't include msrs, Catherine Ho, 2019/12/04
- [PATCH] target/i386: skip kvm_msr_entry_add when kvm_vmx_basic is 0, Catherine Ho, 2019/12/06
- Re: [PATCH] target/i386: skip kvm_msr_entry_add when kvm_vmx_basic is 0, Catherine Ho, 2019/12/06
- Re: [PATCH] target/i386: skip kvm_msr_entry_add when kvm_vmx_basic is 0, Paolo Bonzini, 2019/12/06
- Re: [PATCH] target/i386: skip kvm_msr_entry_add when kvm_vmx_basic is 0, no-reply, 2019/12/06