From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] KVM: svm: writes to MSR_K7_HWCR generates GPE in guest Date: Wed, 09 Jul 2014 18:20:27 +0200 Message-ID: <53BD6BCB.7070607@redhat.com> References: <1403783415-30721-1-git-send-email-matthias.lange@kernkonzept.com> <1403783415-30721-2-git-send-email-matthias.lange@kernkonzept.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit To: Matthias Lange , kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:9381 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755181AbaGIQUd (ORCPT ); Wed, 9 Jul 2014 12:20:33 -0400 In-Reply-To: <1403783415-30721-2-git-send-email-matthias.lange@kernkonzept.com> Sender: kvm-owner@vger.kernel.org List-ID: Il 26/06/2014 13:50, Matthias Lange ha scritto: > Since commit 575203 the MCE subsystem in the Linux kernel for AMD sets bit 18 > in MSR_K7_HWCR. Running such a kernel as a guest in KVM on an AMD host results > in a GPE injected into the guest because kvm_set_msr_common returns 1. This > patch fixes this by masking bit 18 from the MSR value desired by the guest. > > Signed-off-by: Matthias Lange > --- > arch/x86/kvm/x86.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 57eac30..24d70d4 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -2029,6 +2029,7 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info) > data &= ~(u64)0x40; /* ignore flush filter disable */ > data &= ~(u64)0x100; /* ignore ignne emulation enable */ > data &= ~(u64)0x8; /* ignore TLB cache disable */ > + data &= ~(u64)0x40000; /* ignore Mc status write enable */ > if (data != 0) { > vcpu_unimpl(vcpu, "unimplemented HWCR wrmsr: 0x%llx\n", > data); > Thanks, looks good -- I queued it locally for now until I can test it on AMD. Paolo