From patchwork Mon Mar 25 17:16:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Borislav Petkov X-Patchwork-Id: 10869689 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BD67217E6 for ; Mon, 25 Mar 2019 17:17:08 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 95FE0293A9 for ; Mon, 25 Mar 2019 17:17:08 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 85B3F293CB; Mon, 25 Mar 2019 17:17:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 22FAF293A9 for ; Mon, 25 Mar 2019 17:17:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729473AbfCYRQu (ORCPT ); Mon, 25 Mar 2019 13:16:50 -0400 Received: from mail.skyhub.de ([5.9.137.197]:35916 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726024AbfCYRQt (ORCPT ); Mon, 25 Mar 2019 13:16:49 -0400 Received: from zn.tnic (p200300EC2F098000329C23FFFEA6A903.dip0.t-ipconnect.de [IPv6:2003:ec:2f09:8000:329c:23ff:fea6:a903]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 4BFB71EC0AB1; Mon, 25 Mar 2019 18:16:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim; t=1553534208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references; bh=iSerMWostZAc1RefdTw4EsORVEwtNKKczq+lUEXWLCg=; b=Mpvxkj1dQIkNqpJyG9SCTWkW2WZRyOIQcmAtIneANqQc5WpqzvCVj3CETUrDP35iiqkHRP ++z8V/Jofcpn4xcqlLQZ38jcVvNHnp3sfxv7DDFIdT9Szm0RHfCApYriyNWFVSteshMZHs OzURFkYcOGw/8cYkDJHqMoeh93Cm8v4= From: Borislav Petkov To: KVM Cc: Joerg Roedel , Paolo Bonzini , =?utf-8?b?UmFkaW0gS3LEjW3DocWZ?= , Tom Lendacky , Tony Luck , Yazen Ghannam , LKML Subject: [PATCH v4 0/2] x86/kvm: Enable MCE injection in the guest Date: Mon, 25 Mar 2019 18:16:47 +0100 Message-Id: <20190325171649.7311-1-bp@alien8.de> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Borislav Petkov Hi, so AFAIR this got applied before the merge window but it is not upstream. Very strange. So let me send it again, might get more lucky this time. Rebased ontop of 5.1-rc1. Please apply, thanks. Changelog: ========== v3: here's a rediff ontop of -rc2. No changes, only added Yazen's Tested-by. v2: here's v2, dropping patch 3 and incorporating hopefully all of Radim's feedback. v1: there's this mce-inject.ko module in the kernel which allows for injecting real MCEs and thus test the MCE handling code. It is doubly useful to be able to inject same MCEs in a guest so that testing of the MCE handling code can happen even easier/faster. In order to be able to do that on an AMD guest, we need to emulate some bits and pieces like the HWCR[McStatusWrEn] bit which allows writes to the MCi_STATUS registers without a #GP. The below does that and with it I'm able to properly inject MCEs in said guest. Borislav Petkov (2): kvm/x86: Move MSR_K7_HWCR to svm.c x86/kvm: Implement MSR_HWCR support arch/x86/kvm/svm.c | 20 ++++++++++++++++++++ arch/x86/kvm/x86.c | 46 +++++++++++++++++++++++++++++++--------------- 2 files changed, 51 insertions(+), 15 deletions(-)