From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 3/3] target-i386: kvm: Print warning when clearing mcg_cap bits Date: Wed, 25 Nov 2015 17:45:20 +0100 Message-ID: <5655E5A0.9030009@redhat.com> References: <1448466589-9407-1-git-send-email-ehabkost@redhat.com> <1448466589-9407-4-git-send-email-ehabkost@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org, ying.huang@intel.com, Borislav Petkov , =?UTF-8?Q?Andreas_F=c3=a4rber?= , Richard Henderson To: Eduardo Habkost , qemu-devel@nongnu.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:33416 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751320AbbKYQp0 (ORCPT ); Wed, 25 Nov 2015 11:45:26 -0500 In-Reply-To: <1448466589-9407-4-git-send-email-ehabkost@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 25/11/2015 16:49, Eduardo Habkost wrote: > Instead of silently clearing mcg_cap bits when the host doesn't > support them, print a warning when doing that. > > Signed-off-by: Eduardo Habkost > --- > target-i386/kvm.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/target-i386/kvm.c b/target-i386/kvm.c > index d63a85b..446bdfc 100644 > --- a/target-i386/kvm.c > +++ b/target-i386/kvm.c > @@ -774,7 +774,7 @@ int kvm_arch_init_vcpu(CPUState *cs) > && (env->features[FEAT_1_EDX] & (CPUID_MCE | CPUID_MCA)) == > (CPUID_MCE | CPUID_MCA) > && kvm_check_extension(cs->kvm_state, KVM_CAP_MCE) > 0) { > - uint64_t mcg_cap; > + uint64_t mcg_cap, unsupported_caps; > int banks; > int ret; > > @@ -790,6 +790,12 @@ int kvm_arch_init_vcpu(CPUState *cs) > return -ENOTSUP; > } > > + unsupported_caps = env->mcg_cap & ~(mcg_cap | MCG_CAP_BANKS_MASK); > + if (unsupported_caps) { > + error_report("warning: Unsupported MCG_CAP bits: 0x%" PRIx64 "\n", \n should not be at end of error_report. Fixed and applied. Paolo > + unsupported_caps); > + } > + > env->mcg_cap &= mcg_cap | MCG_CAP_BANKS_MASK; > ret = kvm_vcpu_ioctl(cs, KVM_X86_SETUP_MCE, &env->mcg_cap); > if (ret < 0) { >