From patchwork Fri May 22 22:19:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 11566373 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B65D41391 for ; Fri, 22 May 2020 23:02:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9E02620738 for ; Fri, 22 May 2020 23:02:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="jCat8/By" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731303AbgEVXCz (ORCPT ); Fri, 22 May 2020 19:02:55 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:32836 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731172AbgEVXCz (ORCPT ); Fri, 22 May 2020 19:02:55 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMvcid092607; Fri, 22 May 2020 23:02:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=IxJ6cS14WCserilQLBoNiEGo0Bh0iAczz7ODlDCfecE=; b=jCat8/ByYWjsJGPHWUTerb5XSztD0+nYEtAa+lcksNW/EUqE2pajtU5SM28hvZYq1UwA n0Th0Re9pSSmDhbCOy8PtIqKTCzU6ka5s/U0d1HKX4G3zqvX8IJ0mLaSPlbi3t72uwml NHA0K7+K/isoaEGWP9/Jh/ZTk7hUbZFEingG39kEWf8SE6O3qLF//ASmVBCBCJvhozI/ y56ucT/WLiuL5DMZBpezTKb3JppMCJcpqtwRYFhswNTM9IRSGcw4OBHk0KC3gIG4RuSv OMQ58sbHT77rcfbb0tFasfoX0DSXGzf8ibInr+k5CSqbuZg241e+cKiZQ0PamGllBxZk lQ== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 316qrvr1ab-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 22 May 2020 23:02:33 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMwaLC032242; Fri, 22 May 2020 23:02:33 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 314gmbxt6n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 May 2020 23:02:33 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04MN2WGp002865; Fri, 22 May 2020 23:02:32 GMT Received: from ban25x6uut29.us.oracle.com (/10.153.73.29) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 22 May 2020 16:02:31 -0700 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com Subject: [PATCH 1/4] KVM: x86: Move the check for upper 32 reserved bits of DR6 to separate function Date: Fri, 22 May 2020 18:19:51 -0400 Message-Id: <20200522221954.32131-2-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522221954.32131-1-krish.sadhukhan@oracle.com> References: <20200522221954.32131-1-krish.sadhukhan@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxlogscore=999 adultscore=0 phishscore=0 mlxscore=0 spamscore=0 suspectscore=1 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 impostorscore=0 malwarescore=0 cotscore=-2147483648 suspectscore=1 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Signed-off-by: Krish Sadhukhan --- arch/x86/kvm/x86.c | 2 +- arch/x86/kvm/x86.h | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index c17e6eb..4746ec1 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1096,7 +1096,7 @@ static int __kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val) case 4: /* fall through */ case 6: - if (val & 0xffffffff00000000ULL) + if (!kvm_dr6_valid(val)) return -1; /* #GP */ vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu); break; diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h index b968acc..5043108 100644 --- a/arch/x86/kvm/x86.h +++ b/arch/x86/kvm/x86.h @@ -354,6 +354,11 @@ static inline bool kvm_dr7_valid(u64 data) /* Bits [63:32] are reserved */ return !(data >> 32); } +static inline bool kvm_dr6_valid(u64 data) +{ + /* Bits [63:32] are reserved */ + return !(data >> 32); +} void kvm_load_guest_xsave_state(struct kvm_vcpu *vcpu); void kvm_load_host_xsave_state(struct kvm_vcpu *vcpu); From patchwork Fri May 22 22:19:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 11566377 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 480471391 for ; Fri, 22 May 2020 23:04:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2F09F20723 for ; Fri, 22 May 2020 23:04:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Gkst6EwK" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731333AbgEVXEh (ORCPT ); Fri, 22 May 2020 19:04:37 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:44510 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731322AbgEVXEg (ORCPT ); Fri, 22 May 2020 19:04:36 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMvxhR145338; Fri, 22 May 2020 23:04:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=cSxb/vSYn7y60DgcKHUMcctNjEclEQ1N4Dh5h3I9hFs=; b=Gkst6EwKdl6UgQJ1Ep6Voyy+N+pfb931VceDf3+PvG2XSX6Tcd4HUmPDtSNT+6skJFgH v0jrDahcKKuMfx8W7q74iSpeGf8h1khuhUdVCqrnOyqfFXzsZMEXtWGpc+c1vO8rcNcB RCI9IrDk1WzjSHIoyfSe9JxZXdbUzvHeisCK73gfxLyaCY9EefLGqcXBsAgmmmQiH2lz 2cin3LNQL78C8KCLCKOZNX1rlJtwK0HsKjq74nEZTcePjR1csP4vrwWDkNErrnLqg4zJ bu/t0KgKVDY00Xo9Qbkz2vlfRQeBQtqI0vapwgOuC+N6SwmNOkEuwrBDc6Np8t4+9ysB bw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 31284mg1y2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 22 May 2020 23:04:34 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMxKtp192402; Fri, 22 May 2020 23:02:33 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3020.oracle.com with ESMTP id 3150254gqt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 May 2020 23:02:33 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 04MN2WVP007582; Fri, 22 May 2020 23:02:32 GMT Received: from ban25x6uut29.us.oracle.com (/10.153.73.29) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 22 May 2020 16:02:32 -0700 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com Subject: [PATCH 2/4] KVM: nSVM: Check that DR6[63:32] and DR7[64:32] are not set on vmrun of nested guests Date: Fri, 22 May 2020 18:19:52 -0400 Message-Id: <20200522221954.32131-3-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522221954.32131-1-krish.sadhukhan@oracle.com> References: <20200522221954.32131-1-krish.sadhukhan@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 suspectscore=1 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 mlxscore=0 cotscore=-2147483648 impostorscore=0 malwarescore=0 mlxlogscore=999 lowpriorityscore=0 phishscore=0 spamscore=0 bulkscore=0 adultscore=0 priorityscore=1501 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org According to section "Canonicalization and Consistency Checks" in APM vol. 2 the following guest state is illegal: "DR6[63:32] are not zero." "DR7[63:32] are not zero." "Any MBZ bit of EFER is set." Signed-off-by: Krish Sadhukhan --- arch/x86/kvm/svm/nested.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c index 9a2a62e..2fec51d 100644 --- a/arch/x86/kvm/svm/nested.c +++ b/arch/x86/kvm/svm/nested.c @@ -208,6 +208,9 @@ static bool nested_vmcb_checks(struct vmcb *vmcb) if ((vmcb->save.efer & EFER_SVME) == 0) return false; + if (!kvm_dr6_valid(vmcb->save.dr6) || !kvm_dr7_valid(vmcb->save.dr7)) + return false; + if ((vmcb->control.intercept & (1ULL << INTERCEPT_VMRUN)) == 0) return false; From patchwork Fri May 22 22:19:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 11566371 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9AD3E138A for ; Fri, 22 May 2020 23:02:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7D0A520723 for ; Fri, 22 May 2020 23:02:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="Ago+S7nF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731292AbgEVXCi (ORCPT ); Fri, 22 May 2020 19:02:38 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:60898 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731172AbgEVXCh (ORCPT ); Fri, 22 May 2020 19:02:37 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMx67G093821; Fri, 22 May 2020 23:02:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=KtRnmSWRFRNUvrp6zX3kLi2gOkHeJuHj7ZSUgtgpHQw=; b=Ago+S7nFHdq71pbEmU8qFoIhByNgquVx9vyE90tMKLKXgmPTKKJB/lh9OTea/0pbCWJM S1AqLnk9lt+6chYwkapqtxZegpavbf/LzNC0xKQC9g5gmXIDQshSBu4zmhsHnaJ5FpBa zqTxLF8plArFynWYq0O8fjV9Ms9n/OKuA8Yq0XciHe2LT6iYh+oAh0C/OS5y2CwyOLJa spw8x/SbPXzKLp9bpl7EbU7JQ/yE08+gikL/P4+GOjkq9Uo8vczRf5UK+6RJioQ4LlYE UkEYcYWs68FghS3BNO7o8V1Rcu5Epd7dSVWTnbUda6ZtnxKGifSHlCkycDoGnOdrvlup Pw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 316qrvr1ac-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 22 May 2020 23:02:34 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMvJZI058938; Fri, 22 May 2020 23:02:33 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3020.oracle.com with ESMTP id 312t3fxuph-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 May 2020 23:02:33 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 04MN2WIX015971; Fri, 22 May 2020 23:02:32 GMT Received: from ban25x6uut29.us.oracle.com (/10.153.73.29) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 22 May 2020 16:02:32 -0700 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com Subject: [PATCH 3/4] kvm-unit-tests: nSVM: Test that DR6[63:32], DR7[63:32] and EFER reserved bits are not set on vmrun of nested guests Date: Fri, 22 May 2020 18:19:53 -0400 Message-Id: <20200522221954.32131-4-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522221954.32131-1-krish.sadhukhan@oracle.com> References: <20200522221954.32131-1-krish.sadhukhan@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 spamscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 malwarescore=0 suspectscore=13 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 impostorscore=0 malwarescore=0 cotscore=-2147483648 suspectscore=13 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org According to section "Canonicalization and Consistency Checks" in APM vol. 2 the following guest state is illegal: "DR6[63:32] are not zero." "DR7[63:32] are not zero." "Any MBZ bit of EFER is set." Signed-off-by: Krish Sadhukhan --- x86/svm.h | 3 +++ x86/svm_tests.c | 59 ++++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/x86/svm.h b/x86/svm.h index 3d5b79c..14418ef 100644 --- a/x86/svm.h +++ b/x86/svm.h @@ -329,6 +329,9 @@ struct __attribute__ ((__packed__)) vmcb { #define SVM_CR3_LONG_RESERVED_MASK 0xfff0000000000fe7U #define SVM_CR4_LEGACY_RESERVED_MASK 0xffbaf000U #define SVM_CR4_RESERVED_MASK 0xffffffffffbaf000U +#define SVM_DR6_RESERVED_MASK 0xffffffffffff1ff0U +#define SVM_DR7_RESERVED_MASK 0xffffffff0000cc00U +#define SVM_EFER_RESERVED_MASK 0xffffffffffff0200U #define MSR_BITMAP_SIZE 8192 diff --git a/x86/svm_tests.c b/x86/svm_tests.c index 99cfe4a..d96f3ee 100644 --- a/x86/svm_tests.c +++ b/x86/svm_tests.c @@ -1799,7 +1799,8 @@ static void basic_guest_main(struct svm_test *test) { } -#define SVM_TEST_CR_RESERVED_BITS(start, end, inc, cr, val, resv_mask) \ +#define SVM_TEST_REG_RESERVED_BITS(start, end, inc, str_name, reg, val, \ + resv_mask) \ { \ u64 tmp, mask; \ int i; \ @@ -1809,18 +1810,9 @@ static void basic_guest_main(struct svm_test *test) if (!(mask & resv_mask)) \ continue; \ tmp = val | mask; \ - switch (cr) { \ - case 0: \ - vmcb->save.cr0 = tmp; \ - break; \ - case 3: \ - vmcb->save.cr3 = tmp; \ - break; \ - case 4: \ - vmcb->save.cr4 = tmp; \ - } \ - report(svm_vmrun() == SVM_EXIT_ERR, "Test CR%d %d:%d: %lx",\ - cr, end, start, tmp); \ + reg = tmp; \ + report(svm_vmrun() == SVM_EXIT_ERR, "Test %s %d:%d: %lx",\ + str_name, end, start, tmp); \ } \ } @@ -1871,7 +1863,7 @@ static void svm_guest_state_test(void) */ cr0 = cr0_saved; - SVM_TEST_CR_RESERVED_BITS(32, 63, 4, 0, cr0_saved, + SVM_TEST_REG_RESERVED_BITS(32, 63, 4, "CR0", vmcb->save.cr0, cr0_saved, SVM_CR0_RESERVED_MASK); vmcb->save.cr0 = cr0_saved; @@ -1891,19 +1883,19 @@ static void svm_guest_state_test(void) vmcb->save.efer = efer; cr4 |= X86_CR4_PAE; vmcb->save.cr4 = cr4; - SVM_TEST_CR_RESERVED_BITS(0, 2, 1, 3, cr3_saved, + SVM_TEST_REG_RESERVED_BITS(0, 2, 1, "CR3", vmcb->save.cr3, cr3_saved, SVM_CR3_LEGACY_PAE_RESERVED_MASK); cr4 = cr4_saved & ~X86_CR4_PAE; vmcb->save.cr4 = cr4; - SVM_TEST_CR_RESERVED_BITS(0, 11, 2, 3, cr3_saved, + SVM_TEST_REG_RESERVED_BITS(0, 11, 2, "CR3", vmcb->save.cr3, cr3_saved, SVM_CR3_LEGACY_RESERVED_MASK); cr4 |= X86_CR4_PAE; vmcb->save.cr4 = cr4; efer |= EFER_LMA; vmcb->save.efer = efer; - SVM_TEST_CR_RESERVED_BITS(0, 63, 2, 3, cr3_saved, + SVM_TEST_REG_RESERVED_BITS(0, 63, 2, "CR3", vmcb->save.cr3, cr3_saved, SVM_CR3_LONG_RESERVED_MASK); vmcb->save.cr4 = cr4_saved; @@ -1919,18 +1911,45 @@ static void svm_guest_state_test(void) efer_saved = vmcb->save.efer; efer &= ~EFER_LMA; vmcb->save.efer = efer; - SVM_TEST_CR_RESERVED_BITS(12, 31, 2, 4, cr4_saved, + SVM_TEST_REG_RESERVED_BITS(12, 31, 2, "CR4", vmcb->save.cr4, cr4_saved, SVM_CR4_LEGACY_RESERVED_MASK); efer |= EFER_LMA; vmcb->save.efer = efer; - SVM_TEST_CR_RESERVED_BITS(12, 31, 2, 4, cr4_saved, + SVM_TEST_REG_RESERVED_BITS(12, 31, 2, "CR4", vmcb->save.cr4, cr4_saved, SVM_CR4_RESERVED_MASK); - SVM_TEST_CR_RESERVED_BITS(32, 63, 4, 4, cr4_saved, + SVM_TEST_REG_RESERVED_BITS(32, 63, 4, "CR4", vmcb->save.cr4, cr4_saved, SVM_CR4_RESERVED_MASK); vmcb->save.cr4 = cr4_saved; vmcb->save.efer = efer_saved; + + /* + * DR6[63:32] and DR7[63:32] are MBZ + */ + u64 dr_saved = vmcb->save.dr6; + + SVM_TEST_REG_RESERVED_BITS(32, 63, 4, "DR6", vmcb->save.dr6, dr_saved, + SVM_DR6_RESERVED_MASK); + vmcb->save.dr6 = dr_saved; + + dr_saved = vmcb->save.dr7; + SVM_TEST_REG_RESERVED_BITS(32, 63, 4, "DR7", vmcb->save.dr7, dr_saved, + SVM_DR7_RESERVED_MASK); + + vmcb->save.dr7 = dr_saved; + + /* + * EFER MBZ bits: 63:16, 9 + */ + efer_saved = vmcb->save.efer; + + SVM_TEST_REG_RESERVED_BITS(8, 9, 1, "EFER", vmcb->save.efer, + efer_saved, SVM_EFER_RESERVED_MASK); + SVM_TEST_REG_RESERVED_BITS(16, 63, 4, "EFER", vmcb->save.efer, + efer_saved, SVM_EFER_RESERVED_MASK); + + vmcb->save.efer = efer_saved; } struct svm_test svm_tests[] = { From patchwork Fri May 22 22:19:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Krish Sadhukhan X-Patchwork-Id: 11566379 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 75CDC138A for ; Fri, 22 May 2020 23:04:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5367120738 for ; Fri, 22 May 2020 23:04:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="k/opxC14" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731337AbgEVXEi (ORCPT ); Fri, 22 May 2020 19:04:38 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:45008 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731172AbgEVXEh (ORCPT ); Fri, 22 May 2020 19:04:37 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMvx3D177773; Fri, 22 May 2020 23:04:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=OacTk3r9hmxNzNfmRFSATxh7r2LDYUwIyj2RDQYLVlg=; b=k/opxC14IPIfKy4odBnX6mVMUg3CuKe+kpUOo8gg/2+tqlBHAwfQUi0pU7mj1+P9/LYp k1EqfEhR2ZZNcWckaCywf88qP1OpjLnwtnAiNIJwpHlA1zSyDy8Cz/8gMItxCcvCNfhy ppUQJXQeP8Zvl+Iwe78Mdxkjl2zSvEU/CAyFApo4SegpXDjKfdDFLIkUpHNa7DJXRsej XGSbm3q7bDr9RxdI3iC3ENH7NxrBXEbGmGr389YI6Ls1E3MV5vjiOwo5O8tTzbSbp2/m o4ng2fLJacYFKDaTnUnR/k6rlFM3A+sbPkbSo6HD3QLWDC5EL03EawFoddor9YPOMD3q OQ== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 3127krr3e8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 22 May 2020 23:04:34 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 04MMx2AO104014; Fri, 22 May 2020 23:02:34 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserp3030.oracle.com with ESMTP id 313gj8a0av-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 22 May 2020 23:02:34 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 04MN2Xv1015974; Fri, 22 May 2020 23:02:33 GMT Received: from ban25x6uut29.us.oracle.com (/10.153.73.29) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 22 May 2020 16:02:32 -0700 From: Krish Sadhukhan To: kvm@vger.kernel.org Cc: pbonzini@redhat.com Subject: [PATCH 4/4] kvm-unit-tests: x86: Remove duplicate instance of 'vmcb' Date: Fri, 22 May 2020 18:19:54 -0400 Message-Id: <20200522221954.32131-5-krish.sadhukhan@oracle.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200522221954.32131-1-krish.sadhukhan@oracle.com> References: <20200522221954.32131-1-krish.sadhukhan@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 malwarescore=0 mlxscore=0 adultscore=0 bulkscore=0 suspectscore=13 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9629 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 mlxscore=0 impostorscore=0 suspectscore=13 mlxlogscore=999 malwarescore=0 cotscore=-2147483648 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005220179 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Signed-off-by: Krish Sadhukhan --- x86/svm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/x86/svm.c b/x86/svm.c index 41685bf..f984a60 100644 --- a/x86/svm.c +++ b/x86/svm.c @@ -201,7 +201,6 @@ struct regs get_regs(void) #define LOAD_GPR_C SAVE_GPR_C struct svm_test *v2_test; -struct vmcb *vmcb; #define ASM_VMRUN_CMD \ "vmload %%rax\n\t" \