[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start |
Date: |
Mon, 19 Nov 2018 21:00:54 -0200 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Mon, Nov 19, 2018 at 04:55:13PM -0500, Bandan Das wrote:
> address@hidden writes:
>
> > hello
> >
> > I'm building qemu from source and happily using it since a bit
> > (2.3.0)
> >
> > Since 3.1.0-rc0 (including latest 3.1.0-rc1) I'm no more able to start
> > qemu, getting:
> >
> > ----8<----
> > install:115> qemu
> > 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-rc0/target/i386/kvm.c:2185:
> > kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.
> > Aborted
> > ---->8----
> >
> I believe the check on whether MSR_IA32_ARCH_CAPABILITIES is present is
> 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_CAPABILITIES)) {
> + kvm_msr_entry_add(cpu, MSR_IA32_ARCH_CAPABILITIES,
> env->features[FEAT_ARCH_CAPABILITIES]);
kvm_arch_get_supported_msr_feature() will return the value of the
MSR on the host side (kvm/x86.c:kvm_get_msr_feature()). Having
it return non-zero doesn't mean KVM's
svm_set_msr(MSR_IA32_ARCH_CAPABILITIES) will work.
If the MSR doesn't work on KVM_SET_MSRS, it is not supposed to
appear on KVM_GET_MSR_INDEX_LIST (even if it appears on
KVM_GET_MSR_FEATURE_INDEX_LIST). QEMU must check
KVM_GET_MSR_INDEX_LIST too before including the MSR on the
KVM_SET_MSRS call.
> - break;
> - }
> }
>
> /*
>
>
> > I have no idea about what the reason might be, apologies.
> >
> > Actually, I have found a recent (2018-10-16) post which might be
> > related to this (it mentions the same error message from qemu):
> > https://lkml.org/lkml/2018/10/16/440; but I'm not in the position to
> > go through. AFAICS, the commit mentioned in the link is present in the
> > 4.19.2 kernel I'm using, so...?
> >
> > I can add that 3.0.0 works nicely (everything else unchanged,
> > including running kernel 4.19.2)
> >
> > OTOH, 3.1.0-rc0 dumps the same error message if I boot into 4.17.14 or
> > 4.18.16 kernels.
> >
> > I enclose my specs hoping that somebody can spot where the problem
> > might be. I will be happy to send any other detail which might be
> > useful.
> >
> > I suspect that this might be some problem on my side, as I couldn't
> > find any similar report (apart some old (qemu-2.8.50) threads, that
> > didn't help)
> >
> >
> > thanks a lot in advance for any hint/help
> >
> > ciao
> > gabriele
> >
> >
> > Here are my specs:
> >
> > # --------------------------------
> > # command to run qemu is:
> > qemu -m 2G /opt/windog \
> > -accel kvm,thread=multi \
> > -netdev user,id=net0,smb=/home/balducci \
> > -device rtl8139,netdev=net0
> >
> > # --------------------------------
> > # qemu build configuration:
> > --prefix=/opt/stow.d/versions/qemu-3.1.0-rc1/usr
> > --libdir=/opt/stow.d/versions/qemu-3.1.0-rc1/usr/lib64
> > --sysconfdir=/opt/stow.d/versions/qemu-3.1.0-rc1/etc
> > --localstatedir=/var/run
> > --docdir=/opt/stow.d/versions/qemu-3.1.0-rc1/usr/share/doc/qemu
> > --target-list=x86_64-softmmu
> > --audio-drv-list=alsa
> >
> >
> > # --------------------------------
> > install:154> uname -sr
> > Linux 4.19.2
> >
> > # --------------------------------
> > install:155> cat /proc/cpuinfo
> > processor : 0
> > vendor_id : AuthenticAMD
> > cpu family : 21
> > model : 48
> > model name : AMD Athlon(tm) X4 860K Quad Core Processor
> > stepping : 1
> > microcode : 0x6003106
> > cpu MHz : 3473.492
> > cache size : 2048 KB
> > physical id : 0
> > siblings : 4
> > core id : 0
> > cpu cores : 2
> > apicid : 16
> > initial apicid : 0
> > fpu : yes
> > fpu_exception : yes
> > cpuid level : 13
> > wp : yes
> > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
> > cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
> > pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid
> > aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes
> > xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
> > misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr
> > tbm topoext perfctr_core perfctr_nb bpext ptsc cpb hw_pstate ssbd vmmcall
> > fsgsbase bmi1 xsaveopt arat npt lbrv svm_lock nrip_save tsc_scale
> > vmcb_clean flushbyasid decodeassists pausefilter pfthreshold overflow_recov
> > bugs : fxsave_leak sysret_ss_attrs null_seg spectre_v1
> > spectre_v2 spec_store_bypass
> > bogomips : 7380.73
> > TLB size : 1536 4K pages
> > clflush size : 64
> > cache_alignment : 64
> > address sizes : 48 bits physical, 48 bits virtual
> > power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro [13]
> >
> > [...cpus 1 2 3 omitted...]
> >
> >
> > # --------------------------------
> > install:156> egrep KVM .config-4.19.2
> > CONFIG_HAVE_KVM=y
> > CONFIG_HAVE_KVM_IRQCHIP=y
> > CONFIG_HAVE_KVM_IRQFD=y
> > CONFIG_HAVE_KVM_IRQ_ROUTING=y
> > CONFIG_HAVE_KVM_EVENTFD=y
> > CONFIG_KVM_MMIO=y
> > CONFIG_KVM_ASYNC_PF=y
> > CONFIG_HAVE_KVM_MSI=y
> > CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
> > CONFIG_KVM_VFIO=y
> > CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
> > CONFIG_KVM_COMPAT=y
> > CONFIG_HAVE_KVM_IRQ_BYPASS=y
> > CONFIG_KVM=y
> > # CONFIG_KVM_INTEL is not set
> > CONFIG_KVM_AMD=y
> >
> > [of course, I can send the whole kernel configuration file, if needed]
--
Eduardo
- [Qemu-devel] 3.1.0-rc{0,1} doesn't start, balducci, 2018/11/18
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Dr. David Alan Gilbert, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, balducci, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Dr. David Alan Gilbert, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Dr. David Alan Gilbert, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, balducci, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Dr. David Alan Gilbert, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Cole Robinson, 2018/11/19
Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Bandan Das, 2018/11/19
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start,
Eduardo Habkost <=
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Paolo Bonzini, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Eduardo Habkost, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Paolo Bonzini, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Bandan Das, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Paolo Bonzini, 2018/11/21
Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, balducci, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Bandan Das, 2018/11/20
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, balducci, 2018/11/21
- Re: [Qemu-devel] 3.1.0-rc{0,1} doesn't start, Eduardo Habkost, 2018/11/21
- [Qemu-devel] [PATCH] kvm: Use KVM_GET_MSR_INDEX_LIST for MSR_IA32_ARCH_CAPABILITIES support, Bandan Das, 2018/11/25