From patchwork Thu Mar 13 20:36:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015876 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17AC21F2B87; Thu, 13 Mar 2025 20:10:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896637; cv=fail; b=QSIvrDvo5TlffNySdQHat2UA7+7mgvuY56a9tblFe59ZiOpbehSGOGTHIfvRXl2kQGqbqv6MWY8ZXvHMFj7Q/AZpIHASDY7QaVpmLKlKM1ht5MZXdMDdeQuiP7W0M2pBvyCTBWT+8L6Ux4ejOi5i9D/bxkuous5oR+6L/BYkXes= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896637; c=relaxed/simple; bh=2QISCcSKSGvWXGHvc2wgQMfh0zIHz4uMO4K8NC0AIDw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tezbL9ns0DnPV9NQPin4quPYEZS6dErfa6HVYFj+6+0Lw0O5pusRNn+ODsMCAnZjIbDssWblU/SdLh3kNAXW9JyjB2budgqMou4svlP6fwi2xdkB98M+4R7TAvPFHf+PWzCfxZO/ruxIgI1KwIchuaj7HCI25S2CQUQWyTNPqF4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=NOetNZS6; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=BcKBZ1eU; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="NOetNZS6"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="BcKBZ1eU" Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DEat7c008984; Thu, 13 Mar 2025 13:10:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=P3NNEQV/ZYzP7aunVREwhYEegl6ZEhDmStofic64f co=; b=NOetNZS6c4F8tqZQ/W21JpN8s/GjazA22lAvaUIUVr464cIXYwT85zvBp ScqEKFbZ3cAJZsG8xX1HLQ0PputOPWkwOxITqK4iwsn0xndo2+XZGgXQtdeXZMTd hrsOQTqNSKmPtNdQ5dPWNteDYmYO+YOuxZ2sU3VmwBnYwppjGgBUNulM+BwdKT8J boSLThoQQ+gTb53MPZNsKKoGbFO+t7iSrNzbMyJopJWcX7PgVYFRK9LOuNtOvMI8 iRwAAjAM1xojGsTjLE/DNssNCOJ8waC59cPfbUvVNaGQG0WduKrOTTHv/sTHQ4RG JGqWvpItEM2yQwQCJNuGKobPBOygA== Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazlp17013074.outbound.protection.outlook.com [40.93.6.74]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9gp93j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:09:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=c1llvjvpClUa4cNMZMD8xQUSTB1rJVFOPd6ZnxzhGZk4W6pDO5cR0dZ75pt8xf2bKbfV8ChW3llpCoIekAMQI5kL+udFjQeVSw+aXaJ6I76JYcW4tBBkvwbSJvm+ccLjiHvnUFqnsqMiNf/OJdRrNkrfWwLL6V3LKQLEyVJK8m2ZPPJyyp2coVUYr0Eo4UVLQZcub8J8JjD3sWOsUjdxD8HBCeEGtYPjg84LMI/5bTmGRMeb7fSepQI8DzAkfN5KnKhiYGBXwkkjSq91HWcAYrIyjvWBEyqKUZIFMi/ZMpPJ4+j6g2rKoxMntf7RaHHCA/w8z+GbTFNv5A1UaV8q7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P3NNEQV/ZYzP7aunVREwhYEegl6ZEhDmStofic64fco=; b=ekABYmJvwRpB3ZKHe22GYMRt4EpcI90wU1CR7Qh7+6Gu8tSzSqa3FbjHufvr11d7ltlTWLRBmpD9Vz0GZ4S/1mrmw5H6TajZ5JIatzoa8JEvBuMTy3w1YxYstWel3lhSztjZI0GewnpzpOtQWUuLYyRUGkdZq9fCPAidSutdocrhbDRLVIK6FspalOTWnlCFNSBv+OggmIyxoGItc7nSrSTtHjrvdN9SbPqxMrhBggZ+9H5if2HBVmogMsnUkN2GNc2X+th/6+xs+7TLTNhbK2WascjMPYxml/Ihs/7IPQJO6C5SIeDSGtXEfjlHoK3Gd/uYl7qLFAtqK+1yqlgiFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P3NNEQV/ZYzP7aunVREwhYEegl6ZEhDmStofic64fco=; b=BcKBZ1eUKSe7N7ir2MwfIstM8kxY7b3fCuuGn2ASO9UfodrI5LZR/VSDB2e9nua9Scis7T1sW0l9ZQH+OqWjWsJVdPJxEfidk0Sp5WlNmEZiznwDutjyoW5ucLke/ttslOZ1B3xUC/Qm6Yu6Fmj6ouHUm78Ade36vllg5x2/lIsqVuQS8isbTkQiZlcIh/Mai+skvJHLAcxtIOfTv9r4EPGXN4Pa0pUGpdVuBEYJgCgY83u/T0hH5JRRJdNm11TD2IL/wP0Tu/4k5g7lM0BNxwHKUl81Tw6GbBcbu2YJ2iR1qLaCPb4rkBPmEksvFJmaAxnKAhcU1WBEVukEkkc7MA== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:09:57 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:09:57 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Nikolay Borisov Subject: [RFC PATCH 01/18] KVM: VMX: Remove EPT_VIOLATIONS_ACC_*_BIT defines Date: Thu, 13 Mar 2025 13:36:40 -0700 Message-ID: <20250313203702.575156-2-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 771f44dc-dfda-4a31-f4e9-08dd626b071c x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: sqkA8L1ESbIKWe2eKVOObGwwDOUv1wEVGrfEMejgd7o0N1UCdgIghb9TVWWyYnnX3pq2uje3qXKEGBPtzggneWKoRyIklMpOljvq5G7lTIGMG5jrDfmMcGqqUYm2Bg3GkUxe+LQkTPtHSGg9FjyUlT+lghGOtgGns5kLaFKataL//2oR0RUuammwqj7Zgp+bJoEKs8EEUqQtz7IcTFOmBwnLAyuDQCi1qQl1Ku7BjoBmRTRv10oPR3+UN4VafvLPfo8Ywzo9yhJQphsg5fDydkAyQVNKZ5fUh8UhWChmk2dG40bqn+ZP6xYOQLcyFaeSDFztnHeBcfJmjOmlMHEPYkSQ5zWPf7hPQC0FJ0vVfAoqbmHpeKhtYUrEdtvvyV0nsTM1oNOmU4gVeF/kWD3Y1IQS+j/ZphIHeNZ4eyY4g6xPAEJyDpQYGQRcq5iGxefvXwsZGafX+7p8h86Pro3gwAssWH88LIw9KxjuNDGajXVC5eg10Phj43pLSC/H+kgIsMng+WKiFFdRBLsqnaQ+fHNt0eLZ/x2ovHmC73QBC0AWcMpWlcPJeGawj8rknLASKkHQJVM7Ul4aMqLp3Sroe69WwQrL7hYZ6973M1eRL+xQtcZFTR/hsNyKmSyXWCv9oTlglDj+0Cc71AM2uLwcGw3RXE8xcCGPam4lmQzPgNhOJQuxfSDgKzSYVQ0MYMhNmkBU74EyU0eqoV24oztKE7s0K2kSSg2/XYnx7NaIf+FTSqVu4SkifLDU+AC0gF14dq54Bq6RgZGUdY+AyfmbSn09PSBzNRj2s4WjBfRXYefX7INwBI+uRE1QeJSWhL5CJ7mKT7ii85ww6cK3cJCfXGJgvcI7m8OVNEIHGrzq4gqjxQp4wK/KOTEav5HFQe0nqn1rJMrh6ln5XpwwkUtj4rJ1nVktycAeaeljmYfcb38sV2qLSCybY6icFk81dAPAo38i01IWVvkPbJmU6XEnx2F2Ki4AWBDKebNFPOrAapxzNUaLq2GtaOdqoRLHuoJ3UkKIoHuWgM4FvIUBrW6OeoOOo+rWR5JtgIUvJfU2wu+im+SNCUeSRHU8TeDtjyKLEtgpQxbCi2SdBO/Qsl354bbRiuFgTHq8jck5Dfv4W4WWqqS3Cb19nZYeB07RqzPN72Q2sPGFWTUbKWPpT3XzUVNKcP3t+yFMOssDfUXY8Y3zxyyVI1B4eagXVycR9Dt1dKC21BpEkkWKRFucoC3Yb72HNQxi7Z6MjJrCC79ObKkgbh4oV808IwmQshuYK5oIcPfu9Cm67eW4dtavD83x/xGEZzTS+KkDtIU0Qp0CIYYrV1SHoVjePhMWXOus0kgRHy8ohztre0hfVvGsOwA5+3BxEmwNwlElw1jk7pTvliQrx9WTUr6VBXJzbAeaucv6LVCPrtxHKK697ub4dYrzYuzxyt7hCsBCiPbT08N3xHnU67Q1APAZrz4UbVIn2y6natfZoQLA/61O7Q8rVnmS/Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3WuTBsG53aNKyf4v2HjKGxyL33EJ2GV/bpbkZndHKZ0L0cAPc/o+DoACLAS3FwQIXMkt0SS47RIP0UkI1Q/G9n548tNvSymdIDSASYjXhqyEIN2YPlqmntQEW+bclXUO1Cg2lCx9sNmuJyVcaoZpQsXdsKV9bC2LrnU3SI38aNNiYhUEbY7iPyyHQQjwb+ucfQ1W9vPInA7P+wvcJZJAd0hAwsLdYcI4UqryMCMrG72aNP328+BHE1LoiR+7x/fjWryvuFgabOKUO2ak2x9e2WkZqSDzPA6gVkc+jkoTSweDgCwsRYpdylmPGeZj/L4SCsBGg24rERGjOvfBflpH1TDRa7EV+kj+U25HT3rO4FsP3jwOwheGmS8k9a/8eKAMTxaamNl/SVdwMRVdocYWJl6lKUq8SQA0dXwxgadNouD+1e65nSue2fZTbwxq0pBIMntOUc5iyh2WJw3d+RzIuzUSXXyzRz+y0PvIEzUmDqT6HSd7y+qVrSJAl8eF5WJ3OY5bNLTH6D5RlC8ySNNAoFuvRTmZRy7vXmIWD55Sl/Onp8W1aYnl8sqLUvVr+sQRSYjxq1pgJUXxmkOqlp6wc6DGdEv5UDXJeEVhnJJVVf5bnQPirehfmADq4ehPxC3EL+fvb+TaaiJhy84UNMEkGNfrtIY+TjcR0R6w41ylBrsuzC3udnR5lJgYmtUop7VK0Nkq4rPvPGNRKaSSKns0KcIi/jbW68borTY9xVzN+gU9rPmhZzUxvQkvEimv1omfgY/Vo463vz4UFhiqdtLV6cT0uCSvy1b9608ll2XEuqTXU+dj1FBFSHTdqRIRzm+Ih715ZS0siR0pO+xITVusLMpwNImpi24K67jVZ7YPPNL+67VJ3Z59apb+zt+fqozW5qkoxCx55CvmGDg6A3FJN5OayM3VXb6Ygpen2KUlN3DbLPtIVMSCdGM/rLmL2rw/1GZSDDNKd+3835pOcV6r0oYFWXWUwKd5P6VKg2Mp4vW74s2iZdlmu7zZxkBczvd1i2qVIoPwRGIrnSQKqmCO39s1HcezPM7YgqjG58r3MvYFQ3oHfJ+qo6ilmcccs9fW09jDyOUG4452nAkuCjptp9s+wcwUrLKF9xfbqzs6EncJgODkyqb7zyfBb7hwijCPTKFT3lYy9CtYwFORqEX7WTNtNurg/FDWK8zS9sIAtqmlg6gAYayUT63NdO6jgxdGgXypkIHVZ9QO61Rt4DvAmNKDvTAGWa0zYet2GfyG98iXXm6SORWLvs7OUXyX1S5WB1CwbkfWtHkst8PpdKfeoW96ne3QFTN6CI5EWaUX24eLZJjFBn3iLq71PROeJqSsGDl6ci5nw2/rlmIyth0osKoiSkdWqjib2+YitrvrwdeUigJueUS4O5rMOZXDDyK+VeLkLokRrlz/JQSv1owBaUQYMTpYNyrU++ldwC493P5l23LvEgoufROqJOcULxVvinUx1abSBcDn/7uIlWR8Xx9gfRf7ds23thpSIpw3gt9dDFyLXKddKVriM0AWT/P3cf5WSHzW1M+rzjqoYxS86Yu1GnIwVxyI+ZhRCXnHRXJqJnQr8e0X65Ht2DBu26TrY1foSzEP2hDWdqUR+qrFsA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 771f44dc-dfda-4a31-f4e9-08dd626b071c X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:09:57.8233 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MMu1ujG7mxbmlLUCNAvHFaCaQZmNr9wXUutZLeHNl/exV+TNtXAyRPcA3X/1R/kE9GuK36UKfqYRIMDIm0X2UJOGEoB+RdRZR4HQ0uFQ6XA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: Yz1QXNWVByguJgNDtL-pFGppzhI-khj3 X-Proofpoint-ORIG-GUID: Yz1QXNWVByguJgNDtL-pFGppzhI-khj3 X-Authority-Analysis: v=2.4 cv=WMl/XmsR c=1 sm=1 tr=0 ts=67d33b97 cx=c_pps a=4/dVwHrG2xlZHl48ITU9gw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=VwQbUJbxAAAA:8 a=1XWaLZrsAAAA:8 a=iox4zFpeAAAA:8 a=4ETNj7wtWLrgxawaAZ8A:9 a=WzC6qhA0u3u7Ye7llzcV:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Nikolay Borisov Those defines are only used in the definition of the various EPT_VIOLATIONS_ACC_* macros which are then used to extract respective bits from vmexit error qualifications. Remove the _BIT defines and redefine the _ACC ones via BIT() macro. No functional changes. Signed-off-by: Nikolay Borisov Link: https://lore.kernel.org/r/20250227000705.3199706-2-seanjc@google.com Signed-off-by: Sean Christopherson (cherry picked from commit fa6c8fc2d2673dcaf7333bc35eb759ab7c39b81f) (cherry picked from commit b55fd5c48d3ec1dbf566937a377817b390ec0768) --- arch/x86/include/asm/vmx.h | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index f7fd4369b821..aabc223c6498 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -580,18 +580,13 @@ enum vm_entry_failure_code { /* * Exit Qualifications for EPT Violations */ -#define EPT_VIOLATION_ACC_READ_BIT 0 -#define EPT_VIOLATION_ACC_WRITE_BIT 1 -#define EPT_VIOLATION_ACC_INSTR_BIT 2 #define EPT_VIOLATION_RWX_SHIFT 3 -#define EPT_VIOLATION_GVA_IS_VALID_BIT 7 -#define EPT_VIOLATION_GVA_TRANSLATED_BIT 8 -#define EPT_VIOLATION_ACC_READ (1 << EPT_VIOLATION_ACC_READ_BIT) -#define EPT_VIOLATION_ACC_WRITE (1 << EPT_VIOLATION_ACC_WRITE_BIT) -#define EPT_VIOLATION_ACC_INSTR (1 << EPT_VIOLATION_ACC_INSTR_BIT) +#define EPT_VIOLATION_ACC_READ BIT(0) +#define EPT_VIOLATION_ACC_WRITE BIT(1) +#define EPT_VIOLATION_ACC_INSTR BIT(2) #define EPT_VIOLATION_RWX_MASK (VMX_EPT_RWX_MASK << EPT_VIOLATION_RWX_SHIFT) -#define EPT_VIOLATION_GVA_IS_VALID (1 << EPT_VIOLATION_GVA_IS_VALID_BIT) -#define EPT_VIOLATION_GVA_TRANSLATED (1 << EPT_VIOLATION_GVA_TRANSLATED_BIT) +#define EPT_VIOLATION_GVA_IS_VALID BIT(7) +#define EPT_VIOLATION_GVA_TRANSLATED BIT(8) /* * Exit Qualifications for NOTIFY VM EXIT From patchwork Thu Mar 13 20:36:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015878 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 475091F460A; Thu, 13 Mar 2025 20:10:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896638; cv=fail; b=kID+jH4l2relUdjDgdXESw/UZ9p92eHDzBqmwbbIt0JD9FcXf9p0UTx2wbe89yS1cCKgcZD1fhSeCk0uIso1DlNqYaOa0y7v7MpOd7UExmrtf6IdiyH3gvV03xqWj3Zc3RsovrFj2fmtZQyQmP3PxHJlo3hDqupmCUfPy7O74Nc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896638; c=relaxed/simple; bh=DRKjt0qA81aiSZvCi2IxGF62FCtcNJgDkKWReNddGfQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=KlZywWEBuOWmrDjCLUqYBC0/SK6hAHnAmtPthAAeRA4gYTiN/7TOzICClEP0bZOJnlz4oEwf7PJsUyheGXY18BV8RueZzXm4QMGP5RLsi9adizUEdGIUfjTr3xnTR+lFCwxC5XTXCnk0JzXmJjf6IznpHQnb3A0EH3WncTHfYOM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=UNpWwRFt; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=EwxlRRyV; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="UNpWwRFt"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="EwxlRRyV" Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DF21e2009007; Thu, 13 Mar 2025 13:10:03 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=mwggFSD4i1qyf+HJLFYEPAPR9S5ROs80B8RwNDIwb VQ=; b=UNpWwRFt4HFzAbGkIHuR300QGnoxD9F7ivVauFwnLeeb86u8JwRh5W6ca PU3Fq5GPmxfdGa2n/iHjPO+B6oKg5LH4eLQbSVsmKs2/3/gXwpEd9T1SsvIcqIvM YxMlP3g3N2TGkiGFuC4LmKzz9sXS+m0Qh5aa4ijp1kf65Dwi8kd4u/lTs72IX2UI rUL8DHqaKJg5yJtkuk7Xn0xDwLK9PVQ4w7He2jvIkpxT977xbAmMSumSOMJVEL/U JAy7seJDDNJkaUhUm5NAeem8LRLIEv27GpTnnARMjk6jZCscKYc3BB337gQoTOgo nGIsXc0JDcY1cV/AvJevBWOB8Rr/g== Received: from cy3pr05cu001.outbound.protection.outlook.com (mail-westcentralusazlp17013078.outbound.protection.outlook.com [40.93.6.78]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9g67gr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qo0t+3t+mrr6LpNmkVDpFnNxBCyTkH3T/pBcHr0QBLrWIsPLMgt9H07cVJ6ntzc7IcBjiY7TVNFTfgFFOkJelo83RonfjgDC6aqoUH4mGSuqjHudcUvY9U3mi78h5vsgBY6qzEJUqxTFp23plMizsaZOWLrtF52yot7Miks4TexU6JGUnFavY3xWnTHeyfK9JEt3LTQa7NbtuZ9eBmZydS5I9H+d61Q9WYSfyCKoTk5TeddGaTTmAeZYdGrQF+//QE2gCyXyUHzdwaT6emGKVQn7giq6FGcTGOA013BWf8KPhp+JvZ2VxLW+tbjA9aS9OSPJMf3woYXhO6YTnHqv2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mwggFSD4i1qyf+HJLFYEPAPR9S5ROs80B8RwNDIwbVQ=; b=hgMD+Jb/NCQaVct/n4WRjOocjTETHTTPr0rTPj+h/Osm+3vYgaM0E7O2Qn1R/KKRI8Obt5gSIB9a8N6Us7VoayZ3E0MRovIRtp57hi/qocY7V3xDLru54+wYrWmRANZ8am16kxDvGoiquHZ0uZmXfRAqIgL5LW8dU7BMY7awXNq+patirqWRsPAwA5Y37nCRp0iJCnwATuXL6mMAMxW3QkdhwMo/KVdTsHmUWtMRPkf6ffHxtxmnn9KnzTKnqqcnodZBrOlFSzlHbEJuIDdCOJV0xqQcwsNYNgpgRn2RKCngfH09NV6hBoYE0YzM5iCj4IhF8qr0IrLGh6U00d5cQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mwggFSD4i1qyf+HJLFYEPAPR9S5ROs80B8RwNDIwbVQ=; b=EwxlRRyVe0SoOBsdsa4d0F/NWDF51O+yzgXYLqlCyxG+qQ8jOWfk6Oq+ppUiGiB3DbEaU4fEqT7X7lxOhlEWQ9qry3bm/LLAvLOBJr+gyqj37yeqcprh5VhSi+WS4eJyFeQwcDIAK0dmpwkUZZug3s0IUzSQ/tc4z3Oabmt5KcYD2KpRzHW1IPd6AfZoTnuEwvDPGJj1pZKSE68vUiEiw37KtJ4BAp3UkcsLrT20dqIy88sZBaHgfsiL73d6874ijZWWzlx0zvmC4W/ZU5/XT/1+vwtPqIPAEvjwIVPqfrhU3xV6raKRsXAmPG8FvpAVbCbNQXWiNIJBqs3oNgPfpw== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:01 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:01 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler , Nikolay Borisov Subject: [RFC PATCH 02/18] KVM: nVMX: Decouple EPT RWX bits from EPT Violation protection bits Date: Thu, 13 Mar 2025 13:36:41 -0700 Message-ID: <20250313203702.575156-3-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 2fac5f9d-e011-41f2-3bcc-08dd626b08f9 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014|7053199007; X-Microsoft-Antispam-Message-Info: Nzon/eTT9FMiUGoVFe4dbv+Fdnh+EVgoIdXAAjHsvfFV4489738/1riNLEAIxPmjMXg6qtFhSNngLpk5QQhBB6VS/9N/FeCpniCfiiMNIusMHu4sTSmFs8UkfMCmQ2RSuTQFumnkQ+CRvnJXndB+9rjQqjXYcUY2qDwqyr7VgF7q0IkSL5W91xPdwF2Dfp5nMj4feoE7EBBG/xMVSicEMxdfYWfHlmyKMWDq7CT3Oe+8hUiVEydsUY45WpwYfKmoZDCwJUQndH8XjrkEAIZ4Gg7ffg39L3H7C2hf8OPlW59jbCnjOiWMXKFokQeYsZEmPrkBz9wMm+8Vx5KTGSMS2sVJCEZV15m3Lb4Il/hN4NAw6gn4SzYQRUR0SPiP2ufzM5TGntWBS4DIgIuAy8mikwlRQBUKhD+ThKlpTCLSugNN7T98PwtPR7kfJWqMJW/QBpC53YyjJJ0vsyiilpZVflT0G9YCHT+y0Ztxd4vGeLmgRSpVWiZx/DfnZSDQCBPPr450bjhzADcn/vPuTRdUM6jbAeJMqYsOzu5D1WLgYNGVX+99dHvNORZVcdqXL8gUHB0uNMFRShVING5hMYQDA09FJY+lp3LAq5VOcOWjx41CaylitTozMNAqs3hTs6Qv3Xczx1tJC2+NS1QwDBArdV6VRpvdxljKS3Pyg2EQWeE1nM0dPfLEs62bjAtkUsAWBXHgufzlpFdt/oUIoa19Gdg1x+0juoU+8i5X58KRyidj7KanLtIc6hgbUvr2H2NBlwY0GBVMBEMf8NuXRL5B/i6hu7hCaClGreWVeocZtngCF5aiBmJDuFJ2uSp9VJFCESWJWlqti3q8hWVhtr3wNJAKcdF2U2HbLUju5RXVJHKx32FRTPpRyd6yGMa3USHcqsWsZS1oFaQy7mnEVSvLXMd+nPSCptqB/ttKuouecVcDWGQhExlflcOUn3chkdIOehu1SJyTfNIm9tbAt3w0U4xwqRFPytUWVHvY+UnBKy+82GQp2W0kD+61aGP+lepkjUZk0t45mKdqOk2rEVNzN/45uIgpavifqpM4ikH4qdQAS7+hF5KGb8t4EsHOKuzowe/jtjbHjaXbn2s26aCMTA2eJdVYHUC7jPU53fJCyYGt/WdU1sojkPRfQamRwxYufYAH0m47WdE275HexJm0nxUbnMdc2N53Sm3bHSYomM1oiKZq3XoXFK5/Hj92lglbvz+7odQNVj6hmi9a6/VZt/ePpim3lw7xnCEXeihv3ejfBLMG1Iafxx7eIbRAPEYpJ5Q8gDzoj1PcHJ4mtgD8+tqHUsxuVJiIiyUM4dDcm72FvDaC/i38vqP6uouMrZTeohXirg31qGjGU3eJ4WqZhYTjJsqX74ZtfV3f78I+vowDh0k5/fQae0o1JhhQS/A0sh80qhPxHzq1YrahqakIhnIJQ0ZFdTDoo6DCCJ5BLzVv0NsI+kJzMM3dcfHlSeW5F0YyENo/FxC4/LU4mHfc+w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014)(7053199007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AFUQk56AD+VfZfHX3BRfflBWWjdO/wcyD8MEDlejkAC1LrBoGjjFW2aCru/f0rhARqnavvk3T9okN+v/N075vyMhMBlpKKAbDoT8FJZIKjAumloeW53nBCIX8bkvu0V5nRuovWMWlJ+3KnnEApLxuN3TolPwZJ+M/81qg0otDFGy66UPbWbIt0Gv6gL9wEylgFik/vSpHvmvrXzvD0K7Jeq0YEqYCemnVmOxE8KavjAckkPei+PdWzfgk3xs4adgnaHCxpfX8WnaWIOrKFJ6A+zymtE/O+U9o4UsDReaVHZa+z3pbRx1HMrGjlhuqmDCN2Rfy6ynpb+dfYc9ZFyqnBoU9AHcv4dSE2jFWvtwBn7pvrh7A/3cy/HKR7OE2TnDbh9tzr9o8veEGACkuTz23ZdosYGdLDt+Gn54UijbfXYSLY135DT5g/K9pCXeeG/ECcazPczVQ2tZzdnhm86wKelxWQBA30ILjmKedLuU/9WuWS3QBHtFiMnDbUt6XhAqp7Mg29ZFYkhirRWi98xQ55a71ahfnYtlqzYso0b8ADSbyBhCRVeR7a8KVsaHxh2fVCrR2yfPsWHPebxQn9XSnKh8jL5e+oWrIz6rUkG2JJoIfYwhTX1HFwexeFC0XvXoqqeXw4aPlqO6epiEzKd4K8eKNTd5LtnQEOBsEWjh/pAY+y6OZZd1CHYjZNUtnoUcW7CnLutgIuE8doBA8l1Th+GzUyYJPWdw1j0g2yadskB28J01ZyPJANU8cc/fqdccxD970y09grL7y0ED3JDgEerrzpcaRgnj9aQtJo2m620ZTG9IZHZjRf4ArbBMy4txxMjhEpe4FP3BNK9PKjZXFGE40jOJt4brb7rKKcmB1i5sowD/fVCdHPdWnULQdOnn9Z2IjFBFXwEgGk2XFKYsZt/FOpFcnH9VTSq+F/iIgDCWhIaPn1fK45AegiQ0UpOsRZ8ZAGNrtL2TC+wEa0uaP79ShD/oPwoixbGEl3XLb6S1B5IBifBDy1i9ac5fRSpUtJyYD2nWfggSmsTNQmaA0HGTDmREIxQNukfAXz1lJ9MoUD286PbzMfjAuR1b+Rp04eD3OT5zdwdGIumosYkPy3ArQrxYWcuwhN4v6eQE5FizdyEaKV1jmtRU89KEvC5niyNYyQxIsRc9Uy0q7oa6pnWG4Z3Rz7oR484h3t0nxCkNrbik/LjpE5dNCXhzPKoGzKjdt3Xi+Q0BLo8Hi5cePFiuM2pATLgPiLFrcLkfqyF7gm7y/wqXza8qZyb6W5g+f/GvyMoOMUHFH47tGVAHrLWwtr5DXlXoVOJ9MqUbcmlXZg2LaPqaj4uF2gvXP6CfneLhZXlvWlXRZFOxhTqZV1q5mzP2/su4SIBLG8OqgGqfQB4Fd+8/MMDYuz/ZUnRjJirSoaCWhFDoafnYfmlOpTtJOXQtA3zriqnw973GTIMtqCf4i+lLXxRLNXbpf1wxBsvNQ8GBbquph7T625HPTVtdipJJbdSSjNnL+KaZRjvpjuahCeH7n9JH1XWgeTHp/XqRNMI9bEkm7OuNEyb/oPsvoVcal04sAQINFiDxJMxZ3bcy0TSgKGjc0EwaapaaHqEVbiSCiNB6kKtV30B8pw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fac5f9d-e011-41f2-3bcc-08dd626b08f9 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:00.9580 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GN5TuPYqXYXwuTnk9OVKuGDWpuu/bgXaCnq0XzVLXvrtkTg0y6N6hqacZri81vaEBFxmcoMvNhJkASU4D58ErAz2eac/BncdWL8ioB662Go= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: whR_QPESW8BAYtz--ZZsK4VUYjw963fV X-Proofpoint-ORIG-GUID: whR_QPESW8BAYtz--ZZsK4VUYjw963fV X-Authority-Analysis: v=2.4 cv=c4erQQ9l c=1 sm=1 tr=0 ts=67d33b9b cx=c_pps a=BALyy5icRfvvzfOMzojctg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=VwQbUJbxAAAA:8 a=1XWaLZrsAAAA:8 a=64Cc0HZtAAAA:8 a=iox4zFpeAAAA:8 a=3metJUBeehsC971iASgA:9 a=WzC6qhA0u3u7Ye7llzcV:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Sean Christopherson Define independent macros for the RWX protection bits that are enumerated via EXIT_QUALIFICATION for EPT Violations, and tie them to the RWX bits in EPT entries via compile-time asserts. Piggybacking the EPTE defines works for now, but it creates holes in the EPT_VIOLATION_xxx macros and will cause headaches if/when KVM emulates Mode-Based Execution (MBEC), or any other features that introduces additional protection information. Opportunistically rename EPT_VIOLATION_RWX_MASK to EPT_VIOLATION_PROT_MASK so that it doesn't become stale if/when MBEC support is added. No functional change intended. Cc: Jon Kohler Cc: Nikolay Borisov Reviewed-by: Nikolay Borisov Link: https://lore.kernel.org/r/20250227000705.3199706-3-seanjc@google.com Signed-off-by: Sean Christopherson (cherry picked from commit 61146f67e4cb67064ce3003d94ee19302d314fff) (cherry picked from commit 8cddacdb6a6a459c9425b4abd4c982cec89c25e4) --- arch/x86/include/asm/vmx.h | 13 +++++++++++-- arch/x86/kvm/mmu/paging_tmpl.h | 3 +-- arch/x86/kvm/vmx/vmx.c | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index aabc223c6498..8707361b24da 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -580,14 +580,23 @@ enum vm_entry_failure_code { /* * Exit Qualifications for EPT Violations */ -#define EPT_VIOLATION_RWX_SHIFT 3 #define EPT_VIOLATION_ACC_READ BIT(0) #define EPT_VIOLATION_ACC_WRITE BIT(1) #define EPT_VIOLATION_ACC_INSTR BIT(2) -#define EPT_VIOLATION_RWX_MASK (VMX_EPT_RWX_MASK << EPT_VIOLATION_RWX_SHIFT) +#define EPT_VIOLATION_PROT_READ BIT(3) +#define EPT_VIOLATION_PROT_WRITE BIT(4) +#define EPT_VIOLATION_PROT_EXEC BIT(5) +#define EPT_VIOLATION_PROT_MASK (EPT_VIOLATION_PROT_READ | \ + EPT_VIOLATION_PROT_WRITE | \ + EPT_VIOLATION_PROT_EXEC) #define EPT_VIOLATION_GVA_IS_VALID BIT(7) #define EPT_VIOLATION_GVA_TRANSLATED BIT(8) +#define EPT_VIOLATION_RWX_TO_PROT(__epte) (((__epte) & VMX_EPT_RWX_MASK) << 3) + +static_assert(EPT_VIOLATION_RWX_TO_PROT(VMX_EPT_RWX_MASK) == + (EPT_VIOLATION_PROT_READ | EPT_VIOLATION_PROT_WRITE | EPT_VIOLATION_PROT_EXEC)); + /* * Exit Qualifications for NOTIFY VM EXIT */ diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h index ae7d39ff2d07..9bc3fc4a238b 100644 --- a/arch/x86/kvm/mmu/paging_tmpl.h +++ b/arch/x86/kvm/mmu/paging_tmpl.h @@ -510,8 +510,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker, * Note, pte_access holds the raw RWX bits from the EPTE, not * ACC_*_MASK flags! */ - walker->fault.exit_qualification |= (pte_access & VMX_EPT_RWX_MASK) << - EPT_VIOLATION_RWX_SHIFT; + walker->fault.exit_qualification |= EPT_VIOLATION_RWX_TO_PROT(pte_access); } #endif walker->fault.address = addr; diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 87206dabf020..7a98f03ef146 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -5831,7 +5831,7 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu) error_code |= (exit_qualification & EPT_VIOLATION_ACC_INSTR) ? PFERR_FETCH_MASK : 0; /* ept page table entry is present? */ - error_code |= (exit_qualification & EPT_VIOLATION_RWX_MASK) + error_code |= (exit_qualification & EPT_VIOLATION_PROT_MASK) ? PFERR_PRESENT_MASK : 0; if (error_code & EPT_VIOLATION_GVA_IS_VALID) From patchwork Thu Mar 13 20:36:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015879 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEBA01F461A; Thu, 13 Mar 2025 20:10:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896639; cv=fail; b=FtOQqRbd2IqrvEC2Tinsb7yxFskoV/kgHTYzXfW0r5fS8X14b6ioEG3XWjMZaTIZ6Uz0z+MhFqArMyxpx40UDtflir/DRhK6hjwVp+CUNr+Z/O0rZkBYKrLEfacTIskZ0iykiXCKXiIbSZJqzr5xqaR2hGOHHYDn2zZxXq7tWIY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896639; c=relaxed/simple; bh=EqGC0XyMKe+4qwe2v8z2VCLzfFzDi+/BUAlMhzLbAJY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Uiy5RhHR283OhLehqi5NOR51xZEeNW2BGO6ViXVrVczETE/RyTrHfl/l7JW7CQuShz5UbRy952AXuBJv4iRnoGj4OgipmN6sKJUvwQ6UVZjtGM239DsP98bgww1HkNoIT+2zhLWsIShh7NS96Qod2mgiVIM3/khlYkTfeL1wYbk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=wUJsdM40; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=Xvk9PFqH; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="wUJsdM40"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="Xvk9PFqH" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DEHlEQ011333; Thu, 13 Mar 2025 13:10:06 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=2DmUMIV4J8hEjE5cHRymeGyE2BjOoY2xnCA0PVk1k xs=; b=wUJsdM40CEpb7d63dumEgyRZMzYV0IfV99by0synT7/46Phg5pKy7nUDN +zy3YnkaldgR972KnoXzdT3RViOCX/zLqZG8JuY3oDPvsNUY1osfL2cgMAjQ+shd KKTFJQLlfSRGgEWTqNltF6D+SJ8dWD2cFs+O8w6kTxSPxvtMvqc6hO2pdhBNlPSw B2OeN8vOl3JIl6WnDEcdTd3qbo2qA/3MaFBiQmMgZtvblSGr5X2eWh1yKVCWPxO3 OTUvvudvHN/YMmp08J93c+Adiq1AbF0x/LsiQppBLP/RxuG0L4S3S36mmxSIXNHx 9zwmO7A495A/LQSTBqGBEkM9ROeLg== Received: from sa9pr02cu001.outbound.protection.outlook.com (mail-southcentralusazlp17011030.outbound.protection.outlook.com [40.93.14.30]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge75p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XeD+G+ZAxzdkbX58cWlleRQ4oH4KcbLK3U61dp0PfcPLs5YXk8Twg1jySsfd1YvpYJl/K/pdIve8iHtxHe/TigSGe0KpcHOzzBI+Opdbyd0c1y3F7DbBlm7VeXvJLz++UtdmSDrJldHaYF/Gtoa9STPDg8A0exoSrRaV3OfB3nqU5XjkbJUds1iiPWDbN+ya2sdVOQjr/FDLDeq//D8E3K32O1Twg9VphpZBRx53szdmZ5hzah5aA7p3twbH49XMdXZRi18gnsk3viU0AmiGehAn4Qr4L9rlwdf9IJ68ccv8eSoiWbpbbvRgHLbzaGl9nlOX2zq2pdW2VTmOgJqszg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2DmUMIV4J8hEjE5cHRymeGyE2BjOoY2xnCA0PVk1kxs=; b=ZRRT1a7TeO8gOrUW20C0+v7rdXkTfjL1O3iV3JeFItU4SuOYD/m68YmLB+RvQB7sVDX0Ygnm3568VaytqwzLknqJhRqY5Wv6QRUOnvNNdbrbQltecPq44Jr9Yc931F08wRmwOOs1vvmvZ9Ij3+tK+JN5l6K2/cU67V98pKhZZxcDN9PtoAdTXBLD6I5mGEYODPPnmmpeR3OWnckHFUgf9KqP+e2Y8EZhdkiOUT7TqZMgMyay8HoxMIF6uVz++cHn2WpO4S1nCcv+F/loL3++gcHI5ZiiEv8Nfddh/g/kJfGrdcftF5FaTthuhXFdhHEGBvhoTc0veMeo293EqAdLPw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2DmUMIV4J8hEjE5cHRymeGyE2BjOoY2xnCA0PVk1kxs=; b=Xvk9PFqHY2L9vZ0Y26d2IUpOHoZZ7Pw/7+EoNbXCV09fnfOAVADiSPHgQhycs1+RN2n2LzhN5kqd/hOSebkHdFPFSdRG4WgF3AcbiKSK2Ywi44tk1gyfX62HfvjLouYpximVNeTCuSjlPfwJiEzDII1Y5GaOeDlFjtx145Uki0GxkbAaPDgDCFOgkviILcMiuG6D6I7v9/9O1mLPl0bvWirn4R9qvPex3SJmMDy+2I5YTxb4Ec3Im/Q9CgXV+HRwLVd5Irjcfpb1qVbD87s/WFlCNyROmP26JyWZuEIU74OIFBoeoaDy+1lCvOR8/lZKLqWkTJHKNM8pblJ8ywXgeQ== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:04 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:04 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 03/18] KVM: x86: Add module parameter for Intel MBEC Date: Thu, 13 Mar 2025 13:36:42 -0700 Message-ID: <20250313203702.575156-4-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b23c938-4c7d-44e7-c27e-08dd626b0b0c x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: ystjVftkTglv2+CFio428WOxHKNuo//KUZBUpCNZ9X+S+fERyRFNI984SyaEZSe5pFsUxsWyrIyXGwkGC9pg+4HrXOUHmdH/B2WmKjbxsObmhRol2/6QWb690g9HluXHo5z0YBnY2W6LkR15nrpTeL/gaQlryBFm/3hwtEvHpvej45aoEP8ngshX4d83+1CYnJly/sFJ1+wDFC6XxRE4RyxItV+bR+wad2wh58DAjsva9KXSAvTQc/Cl1S7JHejUGPDPJESwxlD2PJ0A3migmCwm/rh3suenIJgPZ+AeniTB+/Dc1Bmstb0yZfS7SweMxhTLKuHoxP6HxTWqxbdY3e5ghlLYagurqHjVyNejJbMrsFMZ5gxSbTTa5Hj0Sr5QMdqIlKHX+CNviKDGNbhO40sId2TA4FjSk1rMykOvyjNVu678OdKrMmJetFqzSXGDiKR6cOhff+ajBIBWr0zHzaNpBDgxSKEKhzQR2LWutBGGV7us/oRAaPg8HYwj4gqOEaKTbSWlZpzKRxHHGmOyZroSDRCL2YCozwBp/ZDkLBvYCGJBNlZc4XkyV52gPTmx1l+m7xJq9xSacBJRwnxfmmoAiN0e4cqRALMR66UW8CaeRB9wmc5P8qcvbPh9G0fLypkPz1sEsL6CEiwuyp7IPMPyOb00hfEoNlpw0m6Lwq1zkIuFAUqzr5GoYLLbTBcV+ocwYPsrNiWoCKV8/4xsSttB04kNs3Kv2HaNSUA+u+iBiLuwtQRqusOfEzb/MlCY+qW2UiZ7WNFz3x29Lb657WTfY4ghcDvuXE74cFx2z8ktbNBjy2vjHYLQpszAjHgVdTATIQizMvq6E/yL/aQXOZovdUjZyiZXR6JNW+IkIVfnGUdZ/7xzSZ0n4UqtPiC68PbNTVkaVi7X2weiUDwj59Iw+XBgU5zjNGq/Y9oAoI2zH+kq7fzEIcEUTqt9HvR8FhnqphDQW36lHYBD0CDiYRtcy+6mVQXghEAPLZ0YCUhgQTwqwwNLp+tllQF7F0eHWBh7XcVFg/hUF1zbuSzvwygogcaqgbU4dDhA96GoBw7QvBsXw6CTJzJsB0wjf5fTHidTRf4q5jj1nqE63IffmTzMu3xnBSKjRa8rWjt93OyJb5g4Tu7O1/MgipOgGOH2cV+z4M4oqk7HCjCtYY74lao8/1rphGPBsiEelan6d2YJpbzoNT6P/tr7v2y6Xk9jOYdE85n3mUniY1c6IJej9tvsHHLug3H/6xx/ui37PXcSJ+MDreAJYQz3szYzsXsiHgXcgmTHFqJXam+VvmKuFe6f7oWR1zAIX6OAc8ZpwSllMJK/A8oZC/NLxIPpJgwGU5LUdjONN1SfdD/yfbgZf4MYhcVE3l/qyU7fPidudmrokHonMjq+3n4ET9YWkGlElNnCOU4sKFxKFJWcBgeBFpxP4HhaV1p3HvhWUOnrsOPasTC/4XEzK2c1a/slb4YjG+10c+Xs1mdHZZU5Prmh6g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KccG8f5nNSiM19OvOLHptjr0ICk3gVidTq3/Y7CX3AVOIwfRam3Bknz3xvYlF7uxk7VjVE3C9sPumCT1/MWgmDwj7OjziKCTdFBZHW0pNpSUDF5XAYPLy9yxURh0bikohi5J9yGuB/RbKcC95RAAE1zZtkjSq33qWhZFpoI6EBwecfv9tOzTWQBC3DsAoVkK5NyQsFqqj8g1c8tFm4VPa2eScCExFfLTF4IqRQyQm5eYiQ5h7BfRq043JU1pA1KIdYxTlvPbBa4Ta0dDL+2V9MKOnvDWmIs+noGmMaudL8zQxF+b3VPwt7pVbqQoAqwhzBpTZoeFAL2n3BHjeFYK2Jo+CP307Bi2CxX/NeuwX4Xt5DQGT1FZjz2nD5/+/k78YkYk0HW5fhAr4E6Ttrek0RCq+B7LrY1ERbbtafnCPoLinAa0OipyJPX+RdYpxeq/DuHHZTTplz646Oj5AM/F7c3GLA7N9Iw4JpFZBwQ/sBVK4gd4hzU8NwolbfeFJye2fsVDsWaIo6UveEBemz/CF9xJdVisPzRmD59AkxzDt9olm1bKAaxKQzhOXes3ALCw3aWhkg+HY8h0ojWqBcguXMqVUQ0J0yJQtJd5ATzeEZTuzQljw5hZFcTdbREmoKmt8aatN4DLAXatAcFxcpy/q7d72MjJpBqqZI/fTyiSmlhpidrsguWVGjscmCPUGCfNBm0EXvLXKEsoLyBPeI7LZfWc8modGXKoCexld177n6nlSalXKImDXhWp00aTEinsqmJXyUBQh56HPkMdy7QMUUDITunztD4c3GFpwqT6VQPIMkqdhirvqdVTQpNDvDl3W2AD73NLpKxCmJHAj2QI+Wv4FTVG6Ch4dyqXKQ/+MPrHldhRn1CJfRxfapvx0zDnReg7qqE/He5SP5Xnw8+izEKBujmPZLqkU4xw7s1AMKuIF83o+hG3Alme0zIFglQJ/Hkj/Y3mIOqFi/wDgLVoUUiE8Eyt44yaO+HMU1m0F5BudIqH86JjyJp+M0jtc9htN9U7ATpwyutYi+ZTYLz/WxvWaBgXKi/BWzTzsrI+ffU4k+plgg1ClCuHbgafnJl2ZKhv27maoeRdbDooOB2eLqJYADWRrUXjZr8W+M8zhIbYkGN/YUgriMCZlxdYWC1tuK6QZ9gpUfRPjZzMCirBNqrOSR9d8FfrDJymXcL2iKXMSMspWnzgzBuUi8tVd+TRHKm3fgopOm+KovIm3z8l8GJTj95DLgYlM9E0yFqqMQUReaD75I014QKZyx9EQK7m0iQJ1F3hUSfLkZhx8LExrZFnbdbLnzcVjuLm63Zzz9jYohpOS+y9iKjAToQ1lXJtuwP6gvIId68BsODw8RIiXElE+gUqf/hsYnw8Xi1ChfarhHcN6EuYGOg8sgbl4Zsw6xbu3qG4lexhDt02/4bnbA9pn568XGwEj+sWv1DGzkZKi92QaFVX/OpDCFkhnbaoffjSAlD6z6QXG2QjXa2bSIC1VALTzJypgYFZSN5Xlf33O/iKJbe5+gydv9G7r3Pc6LLMNIiwO2EbkGKP299FWtbabMU15AD9JOCgS/xtXppTwR24hv8E2ACtHLoEjOh4CH1duk2hEWbE3ymJmEVM3Q== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6b23c938-4c7d-44e7-c27e-08dd626b0b0c X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:04.4300 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: SamjOmiLcpJLOTerjn/azDslRuA4BhX8j3evAhIEW+owSfNs2DMjabJCTqPfSNP4cfmKNAh6oWp2tHN0nDnvtVc1NCVpY5FjdIwRk2jk4PU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: oOYjARsPLUnahVdQ0vpl3EbJFDUzg5mD X-Proofpoint-ORIG-GUID: oOYjARsPLUnahVdQ0vpl3EbJFDUzg5mD X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33b9e cx=c_pps a=uiDhKFZJcG2N7b6OoV3sKg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=jDXRym9R1P1Z0Gk8e-cA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Add 'enable_pt_guest_exec_control' module parameter to x86 code, with default value false. This parameter will control enablement for exposing Intel Mode Based Execution Control (aka MBEC). Place parameter in x86 common code as, notionally, AMD has a similar feature called Guest Mode Execute Trap (GMET), which may want to build off of this parameter in the future, similar to how 'enable_apicv' is shared across both Intel APICv and AMD AVIC. Signed-off-by: Jon Kohler --- arch/x86/include/asm/kvm_host.h | 1 + arch/x86/kvm/x86.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 7cf2025a64a0..fd37dad38670 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -1883,6 +1883,7 @@ struct kvm_arch_async_pf { extern u32 __read_mostly kvm_nr_uret_msrs; extern bool __read_mostly allow_smaller_maxphyaddr; extern bool __read_mostly enable_apicv; +extern bool __read_mostly enable_pt_guest_exec_control; extern struct kvm_x86_ops kvm_x86_ops; #define kvm_x86_call(func) static_call(kvm_x86_##func) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 7bae9e9cc14e..4b2fbb9088ea 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -197,6 +197,10 @@ module_param(eager_page_split, bool, 0644); static bool __read_mostly mitigate_smt_rsb; module_param(mitigate_smt_rsb, bool, 0444); +bool __read_mostly enable_pt_guest_exec_control; +EXPORT_SYMBOL_GPL(enable_pt_guest_exec_control); +module_param(enable_pt_guest_exec_control, bool, 0444); + /* * Restoring the host value for MSRs that are only consumed when running in * usermode, e.g. SYSCALL MSRs and TSC_AUX, can be deferred until the CPU From patchwork Thu Mar 13 20:36:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015881 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1EF931F4735; Thu, 13 Mar 2025 20:10:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896640; cv=fail; b=pcv5InUvRKFP52GbzAmLw+tOrUuzRcNJ8SH+MFWGtKcMtiqo3QPNRVZB+HSvM+PYcRSq07wKIO52mwx0MuCsb+D0l6MWu7Zb87k+opfCXSVi4ds0sDgf0Mg0n5CxF9M7KGHFvAGiOiZOiAWqhXkmGXzbg70/V0QH5sFoikrq7Vk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896640; c=relaxed/simple; bh=br9h7Lsa74nlQ+yoS7wu0BIveLoOgXJNFuzjarVqyxg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=JnOi1RSs64yXYDzG6MZ2fQT1sIqV6JQBPMLJGuifdpn0PJCxGYO/G/Rs2Yo3OYlaf2rmfGqYnuHcHnc7lOIILo6PGma5kPPevhZcYzhvWZqSx83SRMNh39yXtl2gtxx1VadoTkzltkFM9KUtoXXga/nDgqi0kTunIMp85T4mJ6E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=nUD8ACRB; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=LdH8AyEn; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="nUD8ACRB"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="LdH8AyEn" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DCn4sn027623; Thu, 13 Mar 2025 13:10:12 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=06sECWbceFd0AbmzFjp+twG31za2335D1bhHE3gMf Dk=; b=nUD8ACRBnmfpN3vqBU0Mk0RKTMN29lj69lytB3ymcZ4MLNQe+cusRrcOi 5smETxNfZ3X0TDoNw8MtYwNEmH+zk/c0bp6s1xiJGDO/tCXm0or9tRcwuuJwvKcH M7gY1gmVAj619L7wEXw6Nyt7vjqAm09S/UgAFOJRxgYTdj0/e9ND7JMtZ4OYAY/A 1zqNobwSIyQuAPuvkXiyn0Kc0ty6bpq45C/esP+btBsckVlBgP08FamA4XlrRaAB lx+gDUzS9MwjDvrEIc25gOiyzfgFWrC/SXOvGsOKyOvlklo6sNyCUpj02FbRprK/ ds2QIjNxYMzY68DylBN11oMMVuqvA== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azlp17011030.outbound.protection.outlook.com [40.93.12.30]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6t2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R26W1gBd8ECivGQMQmeEiY4xaRLkMj+eOE7feqC3td1BGWUf/0x6jYn/offfp6QXIRLl3QO3ZLQAJ/Hejg7519sAI6Q/v12ig4ewMShKkoGazP7YlKFo7DY/65dHt4f6O3TgNjN88JzdqETenJzqubcL+LUtC6gpe7rocx+1N1H2vbapskDRtv3jFnUOS3hXnoqYLenNSpEsK8h8B7elzKExZe3DkwC+H0IIgrYX8dWsMgkjkVIVD/JWhkaz9F+qi+RHdddIecjck86JQZmWsATleVOIWjtat/Cf0ndpT6IHw6OIQkBipTqWxYukCKR7pTiBWuIcEo87VZ96mzUXLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=06sECWbceFd0AbmzFjp+twG31za2335D1bhHE3gMfDk=; b=l5ODm+1dnWFo8S5c7Ztb9UWt8EOWHnlZsWzyoWllXW9lZkY9PuId49HlSnuy7SKVZCmmYr8iQucBI2BL4z7yRhYcv/5O+DTIGCCabVsWS6FOPDS8XhuZvAzO5o2h/2Gkf7PKUZl7BPDQ744Y/UVjhGHQCrV6zVGJmDu0LX98t84gNh5bIyvnrcEvZKciNW1U/aVhKDQrxOuPKsZT2ipC/OrucaCZA1tejrWDl5wt9MZWXXIKEjKyZdfuv+/wH2YdE/goVENrRBzOi0PqkzW0JnccERQARCBEQXt4HjImVrLO5RsVH7NcEBXl/50iZ/yJ+NqBLEVk+6GJliwlohIaNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=06sECWbceFd0AbmzFjp+twG31za2335D1bhHE3gMfDk=; b=LdH8AyEnitGJJLvstVvHM3RHbOiC3TpAH2hrXGssqkAhD7fCnZf2aEM3ysqHWirDrTNQHX5mjpPc9FK67OefTOMbtlHslPa5mPAUZ/F9/UhydWrYKokaYobVhD/ywPRbx9CXcS/mYRkGZ9SdhCpy9JldjZFKFvokTo/ngdgp8fuJ2Jq3Fgqf84oXsyi5kJ3Hz/fyF1QXMXm/wVm4PwggSmH2B+tr+KrdLclsJ7qGt+V0n0viDVe/wnUIHpVmxOklObH+XfgZttl/MqFnjaKh+tUqzCBU+8jbrm7f4TueOH5iixm/XFHSqm10A5JA/VxuI4uTwh/FVGN8DzEvKyhlqg== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:09 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:09 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Jon Kohler Subject: [RFC PATCH 04/18] KVM: VMX: add cpu_has_vmx_mbec helper Date: Thu, 13 Mar 2025 13:36:43 -0700 Message-ID: <20250313203702.575156-5-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 336f724c-0016-400e-8f3b-08dd626b0ddc x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?6vJnQVF2qCxir/Fc/7IG5q4XmuMgCaP?= =?utf-8?q?FuOjjp3LqW5KFtt89ghF6DMjqF9ztDQewIEHuA0b7IVjkxAtxzSZjM+PkVst/Dwcw?= =?utf-8?q?8Oha5AlZJbCRV6ywSF7vmXAvpTnV7etr2UIYEavHuLtTncsw6Qa0Em5EOlmLyGVsO?= =?utf-8?q?vjEmhHnXEz14hVB8Hc0yQb5MfjAg0SfJ6wX9WZDUxMPC4XZR6Kv/O8wdRknsxR0d6?= =?utf-8?q?2YrTFgymQqIaDFgebUpprVNn864avr/sZzjwc614U6Xg2Lh+ndgj9+IcW+7fVkNXr?= =?utf-8?q?zRIjrgdUY+HgYINEqmqPK3DnQTumyi9lVPCxKfX+TzHhvH2kSvVavcfO6cy30Ieqa?= =?utf-8?q?7I7w7HEGVuvNU3Xd5g9nX1fPyZN6s44ACsIo1e9zQyLy/wX5eSXGFQvyBad/G9+ic?= =?utf-8?q?dtBbKO6p8AV99vQDyy/oI1CJv7V5d8Y7ZqR6XKAHOt0yvfhn9dEeiyrqgwkBZg64e?= =?utf-8?q?+XsM6UdlTYhz7ASt0xD9R3ozqPauuECz0yhUXtXuJaVVdtEiOnmDNJWrQ19yNPWIX?= =?utf-8?q?E53tpQIZWiUdfQZ7cITGj+2OsIdR47cKKCAzaqiDnZrNYVMD/RMoyDqQU6sA32Qj6?= =?utf-8?q?ASEUAEqoHL07Ey8J4AwAXjVpacDdrE2Gxfu5OYew6epBZB/d0LhbVrGUa2jOCiC+s?= =?utf-8?q?MaTqk9sYtZ8k/Ktygogew9q5s0/U15OxMFeH5yc51UH4KelawBL5X0xKQyPakSaxc?= =?utf-8?q?TFUMrtovAPW2moW7dS69RoHTJpJf6sQG3Ksvm84cvj/cIDgxhoTXH+WgqrJHZYw7U?= =?utf-8?q?L+CzfmO1dazb+v9FEmWE1WjIHg/MVw79cXLnPtBeAzw4hUaAOoKlx1+CzYBFIfqx0?= =?utf-8?q?4+doQD37xc7ggQcZntBmWdFzUUj/2YNnGFE01xgRAnboxgL/nu3S2m7MEIKek/J0U?= =?utf-8?q?p08SRqMi/ZqM5NMgk01nEEidncR7cIgw2NMrTjrT43mu4CmcvVb75YotBrngFFH5L?= =?utf-8?q?OBgcMQc/ehrrqx1BF6jSX4+s3AQ9m9vC6AMU5H6/S4AzcIsxzVz7XA8ammJcNvrn1?= =?utf-8?q?KqmCZCW8FmIh/te6rpwSoJa7Za/K1m+uPoopWG3nKwdEa9qI09aC49QkViVsRiaQX?= =?utf-8?q?DGr6fABNg6ajfmAoSkC356Lm1cWElK1eal1tH3K0bVi9AZepuKCPpXwQisuoGtDN7?= =?utf-8?q?zGPvO7GTBwskxFmzucwc/KdauGhBj+zaDZjPvQR2uZdfgNTrqjT3DfanssrpLQh61?= =?utf-8?q?fxjPYZCl3kOKkrV9OlyQdqvcmzoz9HvbMLrGsDcQwnOsbyxGfSF6BcSta+q4p6f9+?= =?utf-8?q?LA6IDH1jFcr6TOTiWyWlcRleS76zZcMAqxo2akO7Mvxa2xUK4E3NcMMohvAT2mEJJ?= =?utf-8?q?xVyv/vaLuLuLTxksJmISE1rJ4edHOs9422H3Xlag11Xh6kvryh1t+RZTAZ6J6lp4v?= =?utf-8?q?nYHhfhjE3U+PlE6dehKRDD6ORyRUCDypQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hSrkYCXork7BO1DdJbpSzwn09Et2?= =?utf-8?q?y4N0AdGBkUq6XmvbyiHYm+xmo0KWKqdJcvCRg9P1hlq3CdjiIhIUIjCG+LElHVjAb?= =?utf-8?q?Vq5okBqYq7pg99oBtjW6i3WffbSg8bjWdE19e2r+dMYvh0OdXV877CEC+5KejnQnP?= =?utf-8?q?j7e08rtcr/FP8QBmq5EklfjkRJVtjMWmn3kd9CHQ/Enqx98jpQLYSjyZnIUFCgJTO?= =?utf-8?q?luJXobPOlzFeRcFYtp4Z+QA921JPeHzfiyY/bNNZASV3t+dtF2PBMCCODQnbhjhfd?= =?utf-8?q?dQNsiJbZxxUfXUJXzYCvrk71adGzrjIsIQR/jrmWMF9rqpt9UIbItlOMd1UP/ezNg?= =?utf-8?q?SdpQUQVP9wa5ksE7HKGp7hl8lTDX1+urxJNBPiuwzmeiLV8B9TdzynXMXQ4WGyjj0?= =?utf-8?q?cMEfadqa2+i3M0BYE7/wMmm/gtuPLb6FvB29i0aTiDYjubkQCKXzCBsa6quDt3rn6?= =?utf-8?q?mZnN1fKWkFvNLNE953aGk3suHCWcI+TPh9OA0ZqJJq++Gxk2Uz6N8qT6F1lj3Wr9A?= =?utf-8?q?IxC81+n25ZY+gNJZaeYCkSy2KD94dVWrPYSBSNh0OYKPMkNzd6uEEjUPX9cMhPaa7?= =?utf-8?q?uo6PYB+fzBRSqhoUcN4XWMJwcQr+7fo98pPTdX9Oyai9folk528tqRAFvfTyID3B1?= =?utf-8?q?QoexgYsfIv10sxaVaCkcDR/5HYo31mD9EG2QnLivGpO5C3vdOjQD0yF2oo2cnqldF?= =?utf-8?q?/86qkyNJiBv5CQtvxi09K1HLWRn006HLq7pAhkhv3fAbUcn8yjK/1ddMuRX9MUAd/?= =?utf-8?q?vUU0FHslp67MH0L/wI0h+ZhL0ViWU3OQPL/vf3IY0t4oUNmfCRFYmUCNL0A8ReD3B?= =?utf-8?q?+bCzU6dDrW2E+WO9eymR0k9YXB6T8YWy4qlm3DMdoN/cWmE3oQ5vAG9lyiMxNKVQY?= =?utf-8?q?xk/gMGCmXmp48ZH80OkWuopGJsHvIKwATgfXRzaiB3I487uMiu8eKYRFp90T6gETo?= =?utf-8?q?wFYF3aPXvn4pZ4/tvKyuntVOD8sJjC1Zhzhs8CCC+NiMRCoWORkk9khdIPChjoQAF?= =?utf-8?q?PnpBr1+tLKSn0RZDcf5H5mspGwJK3gh5q6MH1+BDe/oruUL3J35uhtjaSY2nQ6El+?= =?utf-8?q?hSaLJMNy4vw/MHe2SbW5cvkvq3SEEgXY7nffe8IuhLmwIyL26z2eO01QSW4Tz1hZM?= =?utf-8?q?1NG8ui/DaNWeCMbrrwJQ42DOc6LA9e9xZjS/7iaLlkuCnM6ZEmobrQpScfQfOqG7W?= =?utf-8?q?DBceH09YesraCQ03W9IyHsTlZY463FddYPXH1cYFEdci8yHgKl2UFME/fRn3zEHgY?= =?utf-8?q?MPjGJ3sTCaMaZ24RbksakTmpAasQ/KDkuHKszliRhI6Gcxf6kO/cLvPLfegbVmu5o?= =?utf-8?q?zrtly1lJmwft7rdynZRYFqK7B++YJo+F0HFQz2BjQJjmRxD/q0DJHsbp1wPMfg/AO?= =?utf-8?q?+5fO3GRISexTwLwBHUZeEQZ+JGFg9x0rVCrMrOJ03nA/uI1t9FgDsg8NBmp5pYtO1?= =?utf-8?q?vK45IB21ukYKg0Z5cHo4qNXylp+1TRuZU4RsymkisvM2jLt3U5ThYW5jkbph0KMQp?= =?utf-8?q?5l1TYntQ1aWBxbD6Zvg0uOcbOhVTbYNNug=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 336f724c-0016-400e-8f3b-08dd626b0ddc X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:09.1902 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B+HGIkyCnRTC+vV5E79DIJtXQNy+e/P1ltktanK3+/9VHmtSu29Ikx3JiNi5gL10n0DR+T5Fv1qtDsZvsu4djbO6hMy6m+buayW1OWRRu8k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33ba3 cx=c_pps a=f1nyBA1UpxJqkn7M4uMBEg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=edGIuiaXAAAA:8 a=64Cc0HZtAAAA:8 a=PjzdzBBxZVh0jiqMALQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=4kyDAASA-Eebq_PzFVE6:22 X-Proofpoint-GUID: nIHDYxJnQqJ9Y38Hz76N2rWcrH4-Ea3w X-Proofpoint-ORIG-GUID: nIHDYxJnQqJ9Y38Hz76N2rWcrH4-Ea3w X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Mickaël Salaün Add 'cpu_has_vmx_mbec' helper to determine whether the cpu based VMCS from hardware has Intel Mode Based Execution Control exposed, which is secondary execution control bit 22. Signed-off-by: Mickaël Salaün Co-developed-by: Jon Kohler Signed-off-by: Jon Kohler --- arch/x86/kvm/vmx/capabilities.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/x86/kvm/vmx/capabilities.h b/arch/x86/kvm/vmx/capabilities.h index cb6588238f46..f83592272920 100644 --- a/arch/x86/kvm/vmx/capabilities.h +++ b/arch/x86/kvm/vmx/capabilities.h @@ -253,6 +253,12 @@ static inline bool cpu_has_vmx_xsaves(void) SECONDARY_EXEC_ENABLE_XSAVES; } +static inline bool cpu_has_vmx_mbec(void) +{ + return vmcs_config.cpu_based_2nd_exec_ctrl & + SECONDARY_EXEC_MODE_BASED_EPT_EXEC; +} + static inline bool cpu_has_vmx_waitpkg(void) { return vmcs_config.cpu_based_2nd_exec_ctrl & From patchwork Thu Mar 13 20:36:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015884 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 34DCB1F582B; Thu, 13 Mar 2025 20:10:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896642; cv=fail; b=I8fKAN20PB2sxnOPLXAepcZ8RUW6KsKgBWBhy0SZEhEADwjqL3hwlkmx0udhJZvMyo7u13NW7N6/euU96KrMLvzBHUQxavQKTic2yXwUjakJ6F/0htFZVpUV62UENoSG2m8mioPAFnIt4X5ccqz++a3vJ/DIj+u0fYY98LT+oc8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896642; c=relaxed/simple; bh=qPq3uiciwPy9xSSj1fNCH5NNuqq6XOe1LFoHM/Hw42U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=YZWPzblVSNhsl/tA7TFzDCWpE1jmpu5smgBkIbInBYkGo9oW4UNkZTSsM8yp+kjfBx9j+fRqqxYUW6v8BSKyACJFXHwoSg8Qb7JKAU0E2L4UrzgeuezirVzUDQNK3FUUs3+UBAbaeFNt+1aXUogPpNOebBJEWDWjwYzJANRWd4Y= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=gQafNbnj; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=fm5qT+/E; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="gQafNbnj"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="fm5qT+/E" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFGSCD016569; Thu, 13 Mar 2025 13:10:15 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=kJVutqTH03O3kvuXtc7biB/LkKoLfuaHXGI04NdTw Us=; b=gQafNbnjbdlYeojI6WzdTX+fun13vjWmXaHVsSVYsWn4wAOy/wHOEDiQr GgbBDmG0W8TNq9U8aMQSw7iPUSp1o9GjpKU3HxUvIlNg+RjE/TiAk40xU3fOnoAN YwegJyks2gqfJmKu2vIAX6VvmvEn35VLP31Ojrj/FX2sV8Etkq6FxzSWX/1Ss1tt Z06rTclEDOoux/r+C+2CIOU2zo65nzM3y4w4KH1yze0plTjUR/lShzOxB+1D++NW s4m+AynPaR4d5byiFCjKph4LEhMUCegCWsWNBeT2HSv07Yfmof2q2NfrlfdUxhii 6JKYuptkerIHQ7V47PXsyovQqDC2w== Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azlp17011030.outbound.protection.outlook.com [40.93.12.30]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6t5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Em2hQgoK3tJ2n9TxlBlrHZ2wnELGWAibGngu+9jANAP1zvLGXgTWK7/DwaeCutnSvhAm8ys4UtojlXusgR6U7aF9e9Ru33AH2tBQEUQhuWm6ypKIyk+HA2YQtxNRdgGHIbFb2rt00iCNpBxC+rwmca0TrvhVL29WrbNTsT+NBLTGG8sWpThEu21RovMPNvqhrRVWYSzD3yiyIqQrgHdqgSfJXHFsoZN1NPqTaBQwTT4HZtCv47hXRQ47HVvOFsezFgA0FPoJaKoVNzhv9GBAWdGGu9U2UxG43kXBBasTWbUdpfBu5Y+8n0VRQx3lPEPPxbFPag2BkHRhGY1t033OHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kJVutqTH03O3kvuXtc7biB/LkKoLfuaHXGI04NdTwUs=; b=U+kUrBNQKdE3Nb4JTuTmhWFETxADS9jQMg6/jt5PT/N0mhtabgsZeC4T17/iTbopublQqDi4V1oQLxnx0vm2MO6oGOns/NrvGmC9Fou4R2ROkDaPrAY7d1nCNbug/N5gUOeJoVG4HYgBrXeB0OruFD6qrkek6jvcTQKiZ/af4Ifrn5UYazeEnaaXGk12y5jvCOMYX/+YPsPz7v/F9tKa7o+K/nh1maoYUFblLhtymGJK7bUlgg7ItMgcuj+RTdg4ChI8A0lDpHqetenOOyyqEewagPxLhfqXddIOv91x6LsZsrEjyxLlmGpHsITbtPHP/Dlchf00nlD6UbUkXTHOaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kJVutqTH03O3kvuXtc7biB/LkKoLfuaHXGI04NdTwUs=; b=fm5qT+/EySQnKG8Yy0GAJMJo0JdGwQoiumaH8yyRXmPKTKsdDvdOajRwL7JRFr01nXJm7jDiKaRAwhfm/vrtvhnR0KeB8HkoUpc2NvigjiY27vfvXHskXSYQUybB+V7RVeQDF5NJOsdEkRIFnVx07InkndLusKvBF4dKmQVgmCdrB1BikN/4feogx35cOO37twN5Rd7KUW8D9WHcDl6y6LXWbvz2ko0E+CDt/Z8tMicWRRtQmm30A4pqUq8ZtOVeKiHx/8DSjtFza91olAlYBMNQymk+ZyLIVbDll/fbG9TcegE/vHL32Ase/TW8GztzEaVLTnC9bMeC74rCLGRaKA== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:12 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:12 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 05/18] KVM: x86: Add pt_guest_exec_control to kvm_vcpu_arch Date: Thu, 13 Mar 2025 13:36:44 -0700 Message-ID: <20250313203702.575156-6-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 4334e7f4-1c2e-4ed6-85af-08dd626b0f90 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: WxmkNYyuOSpYxb33SyWyL/K+frl9XJ/5d+GZesIFBya33ChvdM049yqasOMDVECxeQc234IZgjaqiw2SLwOouy1A6WvEEwabtOTlBm/86dmC+8ss8OPQuTIpOITwiEqqxyCtqC97z22EUur5jPJVCFOG39Y6pEW6pWRWmTOPTE0pV64SvO7UmGR5j2ZamQDG9Rh2DQR5UgrxLe7IWTj0TO8ixqT+mUSfwYV8kKFr45rMqFr7xX4V2z1cjwzVl1vetfcoEil0JrXJJ+1PcGY3nRB4wZ8jWHX8SHDYa7SQpL6DNCY82v8kZHITicrvA6Ec1o/p6Ozi2AQip+5ZSiiQAKfBiQ85kBjkk+cg1J6H4E3j5uWaXxw3mVYhzaLqTYDPQYJTAfVPy8HBOfESE5UUdbyacP88V3J0FcVJMyRGEIRWayfY0FPMsyPt47OPwmERIpRoYPFXKbYZisNR1Ttap1Gb02YAkTtS8ovlK7LbaBQJIu7fuAjtfA+NPORaZgd5A3Jo6dcJXIthyKFRWXeJ47Q/2xM+Uw+FEd3os9b60n8doXUtxOLdWWVIUcncgl9oH42LIOSXtCI2TcEFe5hhuzZzFtHEAbfZBkxu9plG3f5GuVbKG8txJOkznqMGQsBMYqKqXwG+sI1QC2LxMztJiLpqZ2orN47LI7m0H76Fs2wbye78gWe95SM0vsT9qk2ZeAFm/myXlbz3qUTx4DTtNCLSjJrkGk1bHQQRlT/asQ6agp2wH+t9OUTLfn/CD6NpvPuHzkI7ySdqV8Q04EnznXIgzGJadz3ku17rc8CbqVy8CgDjYvpqn0CmB10DeswiTq6NW8rHeE7UUKQSU4M/M3UxasbfRyUQIQs75Z+q1pNtRuJP37SSlAuQHOG8kvWntm8hpPybzfjsS2fTYgq9R3I1BU1yaXFWESQ/w13R85dVwprSvMm7d55wiaM4RY9fg5fjtdEES727AHkYkXGx6jAZtA5xNtQ4h+N85x3jATvUsNEF/duTmxoe9U1M1hyawPLbhkAvcR62RT5L+Q89HuPJDoyzTGX0G1a/p+tnakvhe/d0lhvya9VwzI+mtuh0itDl8dt3PyeS5QFWqNLOeDUzfdkOKt7WwbC8CtFbcGpLl9oJEG/ZieeUudRnaw9d0ipAAtxyffOARBx0v4qmaNwP+7Y2T9k6LRzhUInNQiRNYpsC2Nib0vcQ+YzUOgqdwA/mPE0sUNj9pTv2lnM0aolJ/ZPJUIxQHP8eDCpiYa1pz53PJHTkiLnLkcfVb+gSC9Ykif1BoNBg7dIg7WlVUJsj6Syal0Wgj8LmXqzXhh0ia8ayl21UlVYC6RrGPYYoK49p9SmDlZjLZ+YMIVC8xlkFAkNlDCm9zQ/FH9MyZLkTH15ERhh8/JM8OyBt9V1Ir0Oup+W7tfWszKV3st5P3+EzdJ7xV5NUW4+ALPp2kcfn19tnu1D7hpgaCMuYP+oW1BosZFEchqCnXUv4LEBnAA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XpxBmbtX2Fb+/y5NCpouRKp4zurIe28tmkUpE9Q35BFnDJ6L+8+cTnFAN8ojzU0egUX9E0mHC/j9yTmN+ooMPkJeGykk5oDIBdlOzC5V7Xoo1X0IipLoSlgxUAYGzKhezpoN5sSztmtPcQ1EAXfjhcW9jSpUB1rDQpGkCQEAa7mfyTtiGoAZsyCDldRJNXIAGSWFMFuCqIiuMvB1dQqJyJYZ95jhCmWYt9tgC0CIhQxUjvwzRj3uThH8Io+FldnyhUPM4sz31iLXj4LFzNFUHut8jZjQrNFoC/gpEpLsOarluHUTwGBdDCJP4ooBqaAAu4zhRBOHL8+5RMNB+CytskRgoBJrf7Py60eHBWvyGapoxTcce8JYhF9qJFPpJbT++hxYYh0p/f79+cMq545LK+v0tb+PNahRLMtACu+U9oxA46TuxMW0uNZGrIfU44bGTTcXpzzB324bW2zWZs79uqrAdJRQYL98moxLU1AG6VoD3uuWg/rBR4MtHph0xAYV0dBYamjjIHoei21AYK+YKLktRRAeml7yJkuMso2O1mLASLVkYwcZ0BpdOH+0SHzxE0qEwHc/VeQqsOdpEDJ36j0Y60nb9lL282Li2PM3MYm+fyzA2ixJhqnVZi8YNudTnLEH+XxwEz8XUXtL4FHHBX+OH9BWa9QoEbnXLV9Gn2Wr/fsU/CoC1nSRuwn1VnAgy2DDpDRHzm9+eStXL2dHHuUvpzB5GLUy3beqyNhsRu9CAHu4eXOcNpCOF3vg8cI+n3/UTCnk8aWMsC3cLX/kW6PkUcgDcvp43xB42sEcqC7XSaXELzCwnif2w6FYhfzEetOT2btklguFwZve5lZ4leKx3mC0nvtO9pvQn99YX8XklWnuGMgmQW+DEPZAGz1ABPvcP3D7Nvfo/JL0qQAirAXm8ZI6hCRaFcOPFjB3lBvppwinzWd9NU9GsRG97VYBPtGSFsqSjIzBcuZH1PzDDXMVFJo+w7kF7hiao4fRGDvt22U3/7/HIZ9YIZtOHk17B7VaJ6OwqI6InekjKfv+x4pE47vkJPhbKD6xM8y3cf0wF6JPRaGaQJ2upOyXpS/XEq3qLQGvm4dBAG3v1B21sWfwD7jVeLcNUedfKIdBpM///H6W3StZptLrt5w+OfLGyR8dFbGzZzokV52OS4ccQiVuaxkpokUlKEV2GR3qEM9PN2Fnvas5xvYEbhsxqbvWsuHScR/dk5va9vtume4su0jAF4oXcnNpdFnFqnQBb5zB3sqwAgu/Cac2Wr5hAVk0CPToonfvRtTOq86Yt2mKMDOJyK42Y7YDP6j4dgagyIXCpygVq0ZzfWszFR7R36faPbMsjl31Il88i6c+2i6SkV2cusrBLqaEFZ1CvLUxMYMN3LJTQkL7rRW6gu3KmGFoZsRZtnVVADbmmNDW2GPcEa9KJeiwYoZabxbKLx0fnRi5SUR5hWEItSgb7ATXpyGQ+NJL0AIizpam6cIp59JjFhCfQ8NTaThtV6Ka74Edr+KueZIF6Uzns4DkMjixR4y1AdsK9RlhFhLRp/FOq/LPin+Ivy6DonMzJ6dgkOeFRHLzWFGdQzAH1xhP/3jMNkmvUcoMkgwnGHSRPgR4Jx/7BA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4334e7f4-1c2e-4ed6-85af-08dd626b0f90 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:12.0891 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AZabvJsRujCLh4S3ZzPW0Ua32BZy2P32XLgGAeaITxnCocMtRPkUJLMDh4X2DD61yl4ZuW6eRMkEgvt1dHBYWA3WX4nj6M4lPL3u5yeke28= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33ba6 cx=c_pps a=f1nyBA1UpxJqkn7M4uMBEg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=CeLJxxsBtYHG6eP2vm8A:9 X-Proofpoint-GUID: RwVXWYGs3Rcb1VMpfP1DNPj-OHhyHq6u X-Proofpoint-ORIG-GUID: RwVXWYGs3Rcb1VMpfP1DNPj-OHhyHq6u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Add bool for pt_guest_exec_control to kvm_vcpu_arch, to be used for runtime checks for Intel Mode Based Execution Control (MBEC) and AMD Guest Mode Execute Control (GMET). Signed-off-by: Jon Kohler --- arch/x86/include/asm/kvm_host.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index fd37dad38670..192233eb557a 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -856,6 +856,8 @@ struct kvm_vcpu_arch { struct kvm_hypervisor_cpuid kvm_cpuid; bool is_amd_compatible; + bool pt_guest_exec_control; + /* * FIXME: Drop this macro and use KVM_NR_GOVERNED_FEATURES directly * when "struct kvm_vcpu_arch" is no longer defined in an From patchwork Thu Mar 13 20:36:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015875 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1D782E336B; Thu, 13 Mar 2025 20:10:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896635; cv=fail; b=c/mlp/dAbbpRjk+oIBb1iVwgoqQz8rdF09QsDpuZBHcIr1ECSFf5+gT+ptxqIub5DLoYDh7Qs0R8D3H7rMzAjGPvT2/zl1LU+idpbnCv12Xqc+9YRGAwTEvmFJRcPJSMBBVE+Lq0gGEmb86JFFhiCfXcdSH36XZVELDr4G58CcQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896635; c=relaxed/simple; bh=Fp4u/CvcYI2W3s8MtqdXqARNiEWBePNvfwFyzNpBiGo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=O19eiKwyhsNq4QAZqkhObwMY2C1O0CM2EodCMC/nkQR7hrpPSVylfe1GOeazTE0EU4qIjhQUTKpuRz5PuXWfER07BJcmBUV469lh03CHbzTqAdInGqTEO68Sxv6MNZYHD3vBcOaLFuVbhZRr+11ifp+Iu2w7JHU4bRWYs1eiVIs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=aSP5GGeI; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=pnjCuhb/; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="aSP5GGeI"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="pnjCuhb/" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DEHlES011333; Thu, 13 Mar 2025 13:10:16 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=M3+Z30YrtuiAMMt2xeG1miLTlHasb3lYQHtxjfAdR XU=; b=aSP5GGeIOlS00MpyHiy2rFfbe6o/idbzAS2ngS+hz90by2+cTNph5Loa9 tuBqDB+Uu+SC1MikS+7cVCHw8W0tsilpOefoD+/8webZUXLE4tAIqRteEv6/QFv8 Kv676t3g46ZhmkX/hQlfeLyanc8IipYVvUOezeras6Wq39/aXQT1goSct0BoIu16 6TBQJ6DorN7EqzgxFKmiuIpHEwRG5ZdihCXi0A9rmWIMSZtZV+R9iQD8wiX1rzlf vKp73LEwwYTPRwYJUwhhSBFPHA+mvO1DvDoCGMBv6lD9VmnP7NPEWKyzqAC4eGd1 /uokuBYnIGV1bUuc2sSGs0wvioU+Q== Received: from sj2pr03cu002.outbound.protection.outlook.com (mail-westusazlp17013079.outbound.protection.outlook.com [40.93.1.79]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge769-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MJpkVi+oyVE6PulA8jSgwjk1+NjYpjcxl29xi0wg6greBVCQQnOqBBDSTMxpih9NqBhnHEIpZMvld4kbW0apJmy58RrGpc6QEc/SlRkXPY06T0O9fdUDDgzGrJn5fGbwOUt+o+IVVQPIZ4wxhRRxspUeh7MeEkA2ydzBS9B2RGkHk5sVi9TwWFjkPDwgDSfTyJV275dx53ntF63zCfwRPTYKuDvRfkJGbNsw8+PW+4GkiQDNSWQ2RK+41NxguW6PeRydLKm65ZnGOdTUcPBuBLzEB57vhTHHwgb6vm3CMkPgnVDGOIc2T5PjfTsHeURGqEUg9k2lvTNvxQ4QMhegxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=M3+Z30YrtuiAMMt2xeG1miLTlHasb3lYQHtxjfAdRXU=; b=QFCfZcx3q2Jaud+Qf5/mIKiIV1M9/VaBov7GiX95g6DmDsnEVujTSXj8Erw9Mkpu06hfcg7KFGsB/fWejxkkh6ewsdqHlq3INPnwTepsYKaG8DF1cOglU5b4Ef/A6fGo/DoonK63xRqqpd+VGU/aViH9vSF6M8mRBnXfcUIjP9NakkV5yNIrgobdRtQYkwjKRFFWarhlNoULBWg5unHvY1fi4u3chhCHJVNzB57Gg0nwzGUQVgT/Vsyxc9VK0cN9NzcvXYSFTlzf40JWzCkKJZzt4fYZtVRoKN5G0VBYLyYtaC5LPLw0eSenPGlfKfhPI1VarM6vd3Oaw/N8XDp74Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M3+Z30YrtuiAMMt2xeG1miLTlHasb3lYQHtxjfAdRXU=; b=pnjCuhb//XVnJG0GPjC6KI6A8Lu6wY9VMZaG/z9bnU7Vzb50tG3aIzWmR7hTti3T3LmBGnnV3nl8fw/PjSN45bLyCwRK7oSXhxXDD4Wek12PFpLDRLnrELKpYPuA3FdBHpmTon6lUMh5gGWrDeFEfDk6xneYUvhfHYs4r2QHdh/mILq/cnlKgquOxRXl5dcORfq7bwerOmbBWsAQe6g+IoEsRDCXVoznVmtMQncHtaQuH59lNNCbQ/wS3Mz0z65QgUmHcWhZNWZHNhRgADyAA9xhnD/e+BtHf5R7s9Kk3HKMdgdmem5hplYaxugLwqumvX5ZEvauM957mYJJUtJMug== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:15 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:14 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 06/18] KVM: VMX: Wire up Intel MBEC enable/disable logic Date: Thu, 13 Mar 2025 13:36:45 -0700 Message-ID: <20250313203702.575156-7-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 7e8b8e3d-2d4c-4cb0-054a-08dd626b113e x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: 0OYxtQ4ubT8Fnn1W4k8y2RYu3fefdPl7TGxaIZXhpfNyTGXgjwSyYNKdHqoYIbioI7bm3m+YujBUEan6d7vabykfn2Tk81Lu93J2OtE5/HLAuiF+6KAyiAawNvDRs8oeGT75/aCllkmu78rsAyKIkXaNo3NERb22ZlqzEjZQk5go7B5/n89Q4h6PYNA9nffcjF/8hHF77jvk/SD2w0v0EQ8LPUyhaIeGQYspDJrg1adbV61dUDvVxRdwjyuuunKLp345IasYdGwcrR1+4K6uz9/SwP3AQA2uySy0RVzAR+XcME9horB+6TlFy0lx26Dk05uxUSdGIXnBHC5eSJMOzDIEWEu8vGm5S4NJHeAKdYP2RrOPp/5YNo0dYIfvyfrq6L4ZttMsOHlMSkXSUEd/HK2YHRxXJy4OvHqNMTj304qJ2LW9OkM9LA0K600SZQOC4DWaKV7F4NI3CT21vuj1sPJ6l0pZk6KDNLFb3RvZYa62YUNE1BAdXoqokUDG3zEz6wIxSLZY/db56W2Em4Nwm4j8Q2xmyisluWQyufvobL3th2JR8gCfcR43vE8VnIDbrylO+2WN+RwLK5UobJXpYC6MRh2G6xFeUkHnei8ywjQ4yzcYQDWJjb8exoBKIHpKIQVQAFLib3CwHZygFhTrnmMzKJozj0eWX0wc5XlpgvpRthQuy0XNCgQi2lysjg4skYmTYrMpKoK9l45K0k0NRidfZ0JmYb84Zkib02HnmFYlBHs2Co5p1HOKNwxC5VxlNQaP+wyuDlfR1k/SgF2WfCTdBA3VKowfBIVbsNZ6WNqtPiEO4VogYGtvxKczsKgQ/YtxJg336gATzO+olwsmNa2NoI1+oUmJD5tr+Apcgc6ggvW0MVjExCtvXGo0XmENNhFdoTqdOZGnfr9jD23swDVHs/VbDX8brllgp1qlaNJO+EjH7fUwDkwDpBkmBCfnudxsHvYZxLfgJM1M+WHnL6Ta7CnrItNr/PBViuTuVJcgc+QqKRkPc2zVRfAkfqTnioZ8UfEjtP/tgsntDt2wD+kSHSohXoZVcD825DveMmGelt6/Kn85A4Y/N9gOvkB7k+4W2zQcE0iSPxvZHBiluNfYjxkOV0ls8CKQZV+PDdLu8L1VWxuLgbxHXi62MXZlGNCFzjHDUU/+CqdA2jDNTlPPtB1NXgxCNgjqehtzRMG65q8X4N2tXiNoRf4cHGzOd/bJ6PVg0umW8Fb0JTQlMUHAex7qRPgcz8pFfQ5SIfvhAN8eHwM2U3yR7qENMOz3Kx0lRtIqTNP3u296nOdQNYP+ud1jaTImEl9Z7zbYRpRQbxVx8r5q7QQg1OIdfK+g6wKkloy4mG2A+CQ3mUh5NUBdVmdQXwVasdVHiW2ogtw/NNOUg0Es7JkV2j6durXpO20BUYrVRY7iVMO3nsa21YtzHW5CREUyXK4D0J93Od1qCtjSyWcrfD191oHk2ygCYX7aun08aq981r7W5YbhyA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 31czrXk68tmhmDa3yN/0JpzupbVgZs8Z4BlWU47l6q+d5Ut+0NE9OhvG/qlesZcttMwjRcOZE7YGylea0SIGM0BoqIqdL7xQM3+pZMmUBQXBS1AENypc5zZt+7rv0LFNnG6ReXxh9ifUTRsPrtNK+snazBcCwyKR2DpqnNoFo8xTqlmen26IHC/6C/DFWJokwSZkw4GAoQGFgk/uyBffx7kU1n+p7ElFaPu4HVmZnWX6PzOiWKC9U04Y2fkNQc1CBkvfkwATCKzVWDN4faWQehYdHNPECoCf37XcPtVo918JMA6sCTGd91xtPtpLDxW/lw1PaX/crn7KgbO8pZo13lyGiptRjtVpih6s4aB/ThvNiUZQbRvkd0dMPXyE12ll3oY82jf8AIALef3G8TEY9737QbJvBbdFeQ80+DkvuC0zNBX+0a1rO+q6/ZLOarB8kRFEgcxqpc3npvtcr9XBw2hPtuRCl6A7P6BpzM/mgyp7MGZIHjs0F0e0Dfc5VF0DSiSM1TPL9Z8pW0bTbWEZoUQPyuVeAS7leuDxJYP0ttsOE62WgEiWSEjKMAzXyNKYrG1Er1otMqX97Px4L/InSXsltLGZ1I2FZxBaxyxurwTRnOXTtzIFbY1ZO+2/E26z8BNNYCxt0/xq8ez8MUzuJaBzW0aTCVzPD9NWwj2l/7lP5xyFR+SSpoe8J/qnITY/LN4Y10jr+fbDhkx9fEVlOrbaLCCsjitAo5NBDyjs2RsrUPKS2pHnnLScGj5BLGCdevZmLe2/y1UY8wQO6m8dI07IyZG64EmreD4vcjZqfAk0MVpHJHUO+ZeGlfQps6mB2flJOBG4Ix5ugB64cbPNsOwocpYvjVGJl2AsiNLbzXBNu84vJvkq64W4kkpAv13GGA41iVdu5aM8kFc4uc8JX157Bn9yrduMSuncnGBhpJ9612wrBvJuUpUNzmuVpX0ZYV1+Xicu+hTsosqBVWj4SsBVHMwUUblRVRM+/rlZtUevtuowtwprfEIoEBvDv2T/L7qCYO3XKu0N9qT/GFzlPWLrFyzv+QtOKvwZivSWmdFu/+naOrYvqwg0o7GgKISoWHAwJAuwrWobSHsH8buBwatknQkz+PxM1t5qgTfxqvjByc9IrSURXl+ery7Hm1l8t6UaOpfK9APWipDRCLdK/5oEe3OWreu7h552uiTjkcmuOlErfs69UtyrZT8KB8Gt/K1qxLSHf1XBtTgb0YaWnFHaPPqmgsaCzRMtTaLTo0xRxI2ZJ3toMfl9TmCl3bmsOJrTfFGP9B8Tz+Dq++nmOFfq6jXCHms7Amnil2s9zoWA8EeostDHdYdasnx1L/qe8i/7zS65ppHaHJ5xgT0Y4BzyhBctSHv+LRwCZrhysjxR+Zk7ozKTOR6DGkYdCfFtbwDauyGlks42NUFX3T0O/NxBZSL8hs09OZLSElBylwoxj/fJ5+leEDq5n12w5C4w7jKZ01bAbGJN+CavAq1XF+e5K7+yX8KBCc9Sopoj46oFambQ3g1LyYuquOiCHLXfy5n8cAOYnfFJzedPQzGhgStQjK9gi77+gn+Ss7C2VdLvTRbF+yG9KmZRHGkGquuJHw0leEzTHXMeb8NmWN0aaA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7e8b8e3d-2d4c-4cb0-054a-08dd626b113e X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:14.8699 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: glMRlxk4xIHKVQmh7LuyZqMxknV1NaueUhrcPvPrus1tKrBY/LQ8bO3mTc2jiZ22BxuVTrrwx+sCZZRbVvCKWXXHlNYzBDlTOz1eed9RjQM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: muZ9X0FUZK2EP3sVpgzUIQaNKqUJunFJ X-Proofpoint-ORIG-GUID: muZ9X0FUZK2EP3sVpgzUIQaNKqUJunFJ X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33ba8 cx=c_pps a=OYTBATO8h6EMnG+Ds1NGug==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=gFziy_h00HmqSejUwBQA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Add logic to enable / disable Intel Mode Based Execution Control (MBEC) based on specific conditions. MBEC depends on: - User space exposing secondary execution control bit 22 - Extended Page Tables (EPT) - The KVM module parameter `enable_pt_guest_exec_control` If any of these conditions are not met, MBEC will be disabled accordingly. Store runtime enablement within `kvm_vcpu_arch.pt_guest_exec_control`. Signed-off-by: Jon Kohler --- arch/x86/kvm/vmx/vmx.c | 11 +++++++++++ arch/x86/kvm/vmx/vmx.h | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 7a98f03ef146..116910159a3f 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -2694,6 +2694,7 @@ static int setup_vmcs_config(struct vmcs_config *vmcs_conf, return -EIO; vmx_cap->ept = 0; + _cpu_based_2nd_exec_control &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC; _cpu_based_2nd_exec_control &= ~SECONDARY_EXEC_EPT_VIOLATION_VE; } if (!(_cpu_based_2nd_exec_control & SECONDARY_EXEC_ENABLE_VPID) && @@ -4641,11 +4642,15 @@ static u32 vmx_secondary_exec_control(struct vcpu_vmx *vmx) exec_control &= ~SECONDARY_EXEC_ENABLE_VPID; if (!enable_ept) { exec_control &= ~SECONDARY_EXEC_ENABLE_EPT; + exec_control &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC; exec_control &= ~SECONDARY_EXEC_EPT_VIOLATION_VE; enable_unrestricted_guest = 0; } if (!enable_unrestricted_guest) exec_control &= ~SECONDARY_EXEC_UNRESTRICTED_GUEST; + if (!enable_pt_guest_exec_control) + exec_control &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC; + if (kvm_pause_in_guest(vmx->vcpu.kvm)) exec_control &= ~SECONDARY_EXEC_PAUSE_LOOP_EXITING; if (!kvm_vcpu_apicv_active(vcpu)) @@ -4770,6 +4775,9 @@ static void init_vmcs(struct vcpu_vmx *vmx) if (vmx->ve_info) vmcs_write64(VE_INFORMATION_ADDRESS, __pa(vmx->ve_info)); + + vmx->vcpu.arch.pt_guest_exec_control = + enable_pt_guest_exec_control && vmx_has_mbec(vmx); } if (cpu_has_tertiary_exec_ctrls()) @@ -8472,6 +8480,9 @@ __init int vmx_hardware_setup(void) if (!cpu_has_vmx_unrestricted_guest() || !enable_ept) enable_unrestricted_guest = 0; + if (!cpu_has_vmx_mbec() || !enable_ept) + enable_pt_guest_exec_control = false; + if (!cpu_has_vmx_flexpriority()) flexpriority_enabled = 0; diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h index d1e537bf50ea..9f4ae3139a90 100644 --- a/arch/x86/kvm/vmx/vmx.h +++ b/arch/x86/kvm/vmx/vmx.h @@ -580,6 +580,7 @@ static inline u8 vmx_get_rvi(void) SECONDARY_EXEC_ENABLE_VMFUNC | \ SECONDARY_EXEC_BUS_LOCK_DETECTION | \ SECONDARY_EXEC_NOTIFY_VM_EXITING | \ + SECONDARY_EXEC_MODE_BASED_EPT_EXEC | \ SECONDARY_EXEC_ENCLS_EXITING | \ SECONDARY_EXEC_EPT_VIOLATION_VE) @@ -721,6 +722,12 @@ static inline bool vmx_has_waitpkg(struct vcpu_vmx *vmx) SECONDARY_EXEC_ENABLE_USR_WAIT_PAUSE; } +static inline bool vmx_has_mbec(struct vcpu_vmx *vmx) +{ + return secondary_exec_controls_get(vmx) & + SECONDARY_EXEC_MODE_BASED_EPT_EXEC; +} + static inline bool vmx_need_pf_intercept(struct kvm_vcpu *vcpu) { if (!enable_ept) From patchwork Thu Mar 13 20:36:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015880 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21E1B1F4739; Thu, 13 Mar 2025 20:10:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896640; cv=fail; b=YfAnhQrVTs7DlfSkM2GBoDPOg7bIsgn/Gav9gX3vt0e8JWyziTer7BU1bXXv44WxGLwck152DhraoPgGLC3F/vnpyo6wtDOrObmC43dKY2lEqNgXwJoo/g/sJXmv/0w4/l1dYYc8lVDaikmoKAw77TCi7QNYbH3luhuuamioCnY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896640; c=relaxed/simple; bh=ZXsol5LUDHQVpoZ/tg1QbTpg3HhlIRhRv5L4cdSbyLs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=NZF/KR3xBOS2VWR+Vnr/6/8gMp9YzJgP6jSpliHfD4Mg1YqxPkP3y0HFjwEKyVjlKAOtHtef3fdEks9sDFLAEygMuDGV/QiSmYlNcOkI72R1mrk5A7jx30DrZ25hUDAYxqF+EWThZAfRW15GUOYS5JkJi8jDXcy4c+DCyC0gm+8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=HfAUgFUy; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=f0IdOpHT; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="HfAUgFUy"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="f0IdOpHT" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFGSCF016569; Thu, 13 Mar 2025 13:10:20 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=cVGV/cYLTAYqHVOGX4jqc4sOgAOA4+xNP5Zry7tf8 HA=; b=HfAUgFUy0sjteKw4nEAGIE9RLOdzv+m02zWc5AlUIcKVxdO4sYsGYGonx VOujRc65WsIHgFcCK0UPrsoENpi2rsLWpbhlHjBXSWYOodoAAs9kE70FeQApndM/ ffjagmlT+zY2jy1f/N/dcCcncifvI5Qv9H63o2UeP/3TDTB3PYDqdZu60pTm1T55 gYAt+Y3BlQebEGJ///VCs0LgZHTtdi3N6lBSU1tZin4kyDtVwUaEVmzmkTG5Fm5M Rh9yNiH4MwE/BmMxUMTOJashV2A1j2R/AMCoAC6xEdKNsbVt21NUGOHiJSLeJVC2 PccA6XWXtEYXX8BeSFg33WEU8l+Nw== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazlp17010002.outbound.protection.outlook.com [40.93.13.2]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6tf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lx/Bey/Ffv/NTbBB8V6wFy+rCe0go/y4taSrisx88JFh9c/zfMB9JBs+mKrh0eJNCTGgWo3HTpWXd4JU6+Q/jbG6312oUo5FgiVV9kZ/yqwG/ThiYuDAMR7ruhK5gcMJuwTPhRAj0etb5w5jMTNhhCupE5Amx5L+n5ghOj+rh5orG6usaDzC/UJh8oIQem5Thk51hMsbr+tlW0m/udhD6Q8AMjQ4yUEhpBBYFWp0YTty0gFj5y0hp6eYqWvPlQYxg2LRsLipeSyYmlIQYvIWfQW/2B8iCvFs/oZX5NR53IUVE+IZunCwcsUAR9YyLyiQiZBBfy/lmm1z3ZcK9ind+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cVGV/cYLTAYqHVOGX4jqc4sOgAOA4+xNP5Zry7tf8HA=; b=VgZcQnWHFFYuF7DAN1vYoT/UeergM/pmludptk6rbN7awo20NFdU1+GUJg5jKa2zzadSFyJBhO73F+RboTHh9hkunzxpTt0cZmxBZUkHzhgkgvyCg2P642Dcuy6HkVEuxpqi26zY8Y4hV1fJY4Kp0h7XdJJUPcqCNUT1EmA+z8l5y4Au1ldeJ6B5xf/+j8fKiLvbYdug1J1KYjJpVVjLmHp+L9NIUeaDsOp/nbxdibfyXAhAYNYY/wsIrmAsXneNkI0wzpZj4TeSZdQ59Zia28IWXl2rGjJZR0rsqQLAV8WgO4t0IxXeEPqwCvFO3jcL0Kih1PTdPjnXdkM5/sA7lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cVGV/cYLTAYqHVOGX4jqc4sOgAOA4+xNP5Zry7tf8HA=; b=f0IdOpHTiTtNJ5hUVZJ9nexiTY5s+EfnR1opvqfIbQV6kelXo7BU2auOmmHiH2yXrdk8LezLkSxAE7bEHVB9c9rBaN99fDyG7zIS6oGL6vzaKoCaPO3GWHlaWNpi/H6XIlbEaq5qyxESv9EHbFjIlnCiJphgP41rob36tmeq0Sis9nbb9klorIeofxX20oukphzoMxxSBd2UaH5foM4x6QQOgLxNY+9LJFIRcnqfH5QtBzk4KE/fhScb281Z0/3lcy+sNiC3BN2k0jvdiV6C9pIMWrUuj4fCqGo+xRmfWCWhKHL7VU7I7+Y8nTNsJ1+OfQdkSyZJLBwYfn95tVM6bA== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:17 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:17 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Jon Kohler Subject: [RFC PATCH 07/18] KVM: VMX: Define VMX_EPT_USER_EXECUTABLE_MASK Date: Thu, 13 Mar 2025 13:36:46 -0700 Message-ID: <20250313203702.575156-8-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 3c575bfe-cd7d-4925-e8cb-08dd626b12b3 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?hOpZ/C52HGIQZH3TfXuOWQOW5oDbYrK?= =?utf-8?q?GOufLxzzIZZ6699LGnH3C8DS71lO/Tr2BbXFXjdZCXPpTvIMHpBDkHQcib7LW6rZS?= =?utf-8?q?+vyb0dNKpTzL7ZZ7kKSZRyRvbqm+xF/wtSBDDbWGwSaRXS7Jf636N4k+p8EQ1DoAv?= =?utf-8?q?fCKx4nZbzHd+6aZsRRJixWu8HY6J6zoqIupjtjoYFDTXjZQ6ODbYILOgFIlCF/vjO?= =?utf-8?q?QeWrQoPtebxeMx5uKS7gG+mvThc5Vb9tVsoZbfhz+RwQVbb+AgadE8oOMmt9XoD13?= =?utf-8?q?SQoh1rzI2yjBodUpV1tdrq7wfNsl2ybbOxpB6OGgYvOS3LfCONVNnMBTV8FuGGw4B?= =?utf-8?q?Xh29Tz59/JC7bSBLvBE7Amrb4kmSJvUBRIt8/kBhlg6WoDysBrq0Mi00m8Qj/ZaJL?= =?utf-8?q?1VXUnjsDG+BYJVI+C33JLUKpHXZkARaVPRTEvgsXRBv+opio7+Zr5UDp2rY0zuO7f?= =?utf-8?q?Sz+/qAEHfYTTIz0oP/hSyco6S4K+gJLB232D9cMm47toMOAwal6Wr7XWsdNzV+mOr?= =?utf-8?q?PutpROfJqza9QQ8qMDCbIOL7ItdKAL5qZQn0x0fNoVKTvKWFq/dy0LrAbnYZ7NfO1?= =?utf-8?q?kpKhXaWv4YtB0H3dD3a+sNnFbYMTdI6tmLVYOT4qTOwO/OQgjTT1fwW+RAbeW7A2d?= =?utf-8?q?EdsGA8Uut6X4cl6e0yahu+skKT6Nmu/9/aC83LQrz/tAlIBt4H4b0TaasIj6TZ/mD?= =?utf-8?q?DaaJwd5j+hC6gW6Ws2YSUon0PhNq5Mg5nu3BG/fUt1RQ7Q2RU+nagV8vVrNvaQCQH?= =?utf-8?q?ZW/kdEaYqow7pbpJLZQCfCfyvAD7oFrslpdcZSUm4SnLG35X1Vl/2L/9vq8FCdwC2?= =?utf-8?q?ZFEvTcugQAHrmk0/lZ0+L3Yz7+Vj93N/MPdMqKFz2Yypzp6LZqABJMp56kfIZO/Vx?= =?utf-8?q?zLGali5UfA144Xz4gOEuGVxrMSN1/Ajd5aMQwR3mvf+SlrvBilgzsGxq4qY82lk5h?= =?utf-8?q?cbZdsGL5UKVsGosHMRB5tKHQrFZXhV4VSH/oAM+/zuMaEXqv+jScJt0a+MVCoZvUP?= =?utf-8?q?xOEb0IWDEwKuug53191F7BwyIbQnqUZ9IPYwVEWNQHYr4yYYEghA0nR1L4MEcmQ6a?= =?utf-8?q?19UV0PnyFP1CeFMuW1Fd2TlmpIgSpfh7jHU1IIfeXd3zvQzGF0fMnICwM82Wtp3yo?= =?utf-8?q?VaK6++7qYG4JNHnQ4Jenw595DP5AFhplNe472IVvDc4mjvFLV2q85LWffgBxSkVYQ?= =?utf-8?q?DcmoIdAKhNIg7IYKLs9KZyAFVk3J1T4O4NRXXMKC0Gh1/GyCtQ+k983HvEzuvv/58?= =?utf-8?q?FrG1DjM2VAKIavMohx7qP+fJXOJGDH0XfNo+SKjcH5T6ldcDZ2oS6lIJ+hrYyj9ye?= =?utf-8?q?eqoewM/PtTv1D5DBP4a2ho9LsTISO1Oc2ChQuCZpOjmlI6nG8Za5xgUjSLEJATeNp?= =?utf-8?q?TP/TUiI76eZzj+HAogInnxQZ2NFNQ5XoQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?1reUM6WW177EarKWtzttQBb1zs2Z?= =?utf-8?q?rVsBy2Ox2OsWKutlt6vEWPVvt6bwmCKTMjDu06ClLB+jeqs8jfWeRa8wjIjZ+Q0yE?= =?utf-8?q?VVA2N+Iib79ka+VEseca3QGHg6RStPoz7VfoKguOtAzdf2qK/h8Ky3tXH9HF32dnh?= =?utf-8?q?pWdUuz9OJDsdQjC2/2Tk3Bg6MCjEjK6GoRrm73q+bjg1e5swnkVabJEUQrtp9Rqqz?= =?utf-8?q?PvIESiDDWMNYC/FFzgZ2/KnNTo86e1IHIvH6jkqn7wcLz6+EW5D1gTMzTV9LQPbw0?= =?utf-8?q?ODl0UZQrKQOwU9mgSutm3GdKe8KiHAoEPzAXLGHjVPTOEmNxuNV7zF+emwnT5yoPi?= =?utf-8?q?VhF5jxwUjvabGToUq8qxkVSk5zF+XnRuZrP/cGwv2uyMevmcLBlXMsjezfOpd1KkB?= =?utf-8?q?hGIAXTIyVcFzLMV23E3JUjtjV1mLJwySFJUsPGqz15Ns2lAr88wsdDo27y2dEfWtu?= =?utf-8?q?4AmNfHZlNW8AfpYuYQL1rch7rMS2ox5LwHpGhGpTHVKWKljTK31oHFNpzyDTwMqp9?= =?utf-8?q?R06pnbtZotVI7Y9z8i1Flp3DiNZLbYWqpkXVrlRrRoWdF7NfSyMA86s6i/oFLAfOO?= =?utf-8?q?Sc2Avt/TUL/3bvLT2YQKdcY4IA62ZMBRgTlEznqyEdEDHrdLOvuH3JEojqlEPmgRE?= =?utf-8?q?DfTcjV9xoLHzkUXlrpwDX/PSbDhYi4wkHXIC8yMCjvrSgV7X42xuO/VhJLRIu4irt?= =?utf-8?q?NwxHO1tXVJlV4AksVwcOf4lRKnuBIW/cGXkAZe5z3rIGJfcXKROU+jj5jqLdPXfyJ?= =?utf-8?q?4iUIR6ZuFfZg8G1VsaT1Wg69CTQyjSTWIVfQ31vbBoZ5kGegQAQydYzrU8zRab+q/?= =?utf-8?q?cXO7gSypTFSVhxhCMAg62pDuKzagVWrBkb7Gqei7JfZizafczcUh1W7GZMzHdUoUu?= =?utf-8?q?p2+vGO4Buq+doGUQbJD4s7ewqZphJv1riruIHfAZCmnXOuhKzVSe7v4MyEjnxgfnv?= =?utf-8?q?gqbhTmtcRyUuArtUQOlI0CkYkAmhZwwVKAfkecDR9d4vJ6hhoRxx2vbRsXModyBzp?= =?utf-8?q?XypWKBO2MaOiSKNuqlx79rUnpBXfMN+Grh0ijwg8BHNBm59YJE1uIoXKVByZHuWmc?= =?utf-8?q?rLRA6BTktGTmIMOKjgksNMHZC/D2dJNDDR4jtuqr28WswM1l+wp+/dybSqAhzVkxR?= =?utf-8?q?dq8gAMJAFJTTEbpyupzkmWbP2aw3WrAp8nSRIvWvbpaaDzxy57QYqHpxyV+lABW6y?= =?utf-8?q?7DH3CIyidCkkjvqzWQDHRlikRX4hp+BK+gqvPNSKFTUuk+cOP5bZ4ihN8X3/PvsUn?= =?utf-8?q?EWQFbNd4XCXCHoXX4o9RWRGQwk6xH+976sHW3IfmofrZrOKmeb7GHgIczrNmcI0Eh?= =?utf-8?q?rCehTNhYg7BTQYHL61jU5n276WwHbhKF6dXysSGZWl/p20TWEHYf2b9pds1KYCtd6?= =?utf-8?q?fuA6PJgrreE2Pkq03jMGQ5EY/6C0mJ27vzVVpHNIRjJiCnHL5ziHUKj3GIfTXFYqs?= =?utf-8?q?A6tqpEBqbgfwvfIW0/TFVb/+mz6+ktJ8fG8mVmoMkKkZR1dFJKE2sKwhxTSXbcVV5?= =?utf-8?q?+dyjIfSDySA6T0U8fy7CY4+VREHIBzM/yg=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c575bfe-cd7d-4925-e8cb-08dd626b12b3 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:17.3067 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gX+1hthIkKVFWvMeX9o0Jdu7FZm+a8CZgIcTOdJozFbFl9gEML3jxpfM8pKKf8O733RJT0JGwEIHSCYwhFouCXokjO0OFy389mTzMdtFhoY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33bab cx=c_pps a=rknZK0v7KRh+kGA6vhtu4g==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=edGIuiaXAAAA:8 a=64Cc0HZtAAAA:8 a=PjzdzBBxZVh0jiqMALQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=4kyDAASA-Eebq_PzFVE6:22 X-Proofpoint-GUID: neU_T1Lv5JU6DILmYL6f4j8DLkDL4Lwe X-Proofpoint-ORIG-GUID: neU_T1Lv5JU6DILmYL6f4j8DLkDL4Lwe X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Mickaël Salaün EPT bit 10 is used to denote user executable pages, for use with Intel MBEC. Signed-off-by: Mickaël Salaün Co-developed-by: Jon Kohler Signed-off-by: Jon Kohler --- arch/x86/include/asm/vmx.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index 8707361b24da..d7ab0ad63be6 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -537,6 +537,7 @@ enum vmcs_field { #define VMX_EPT_IPAT_BIT (1ull << 6) #define VMX_EPT_ACCESS_BIT (1ull << 8) #define VMX_EPT_DIRTY_BIT (1ull << 9) +#define VMX_EPT_USER_EXECUTABLE_MASK (1ull << 10) #define VMX_EPT_SUPPRESS_VE_BIT (1ull << 63) #define VMX_EPT_RWX_MASK (VMX_EPT_READABLE_MASK | \ VMX_EPT_WRITABLE_MASK | \ From patchwork Thu Mar 13 20:36:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015877 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 475681F460B; Thu, 13 Mar 2025 20:10:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896638; cv=fail; b=iKgXh5ZrzyDUarLGkhJGzxLfvtE5D71N2xMBk9QABM97cbfyqYoZv8wUmA7XRTw/wrBFNM7IxIPBIHLu5SkE46tCMKcR7YeDZoG/Tu9O5EXGo+UgGTbhwVgrGVCB0hX3Lp17K39jzEF+4QKu+CeBk6b1ZA/fLQhdnwjL+P9GyB4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896638; c=relaxed/simple; bh=5F9HK8wDitgLiXRHnV0kkOJP9YR1aVsd3ME1Ux4l6l4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GkClMkobL/3yNNzhRqnlgugQuqDhFOypf3p2x9DcYeK30sqrUjytNYa+uhAbjrNM3qU592RUs79YmHDFZI9/JRqTLQHrB7x/iCRUP/aEl19zupFVzYIMC39aSBPklGC79DCe26vJ0+3SgNgadc10B7Z8UFM9B3p5IcboeWq6UEo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=B5WMdQKE; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=BgZp0Dwc; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="B5WMdQKE"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="BgZp0Dwc" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFSiGW011159; Thu, 13 Mar 2025 13:10:22 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=1guDpteyDK9Mkh2C9+sR5agtugU71kb9jyl8MW/Zb Ek=; b=B5WMdQKEJFAp8O4Bws9l+mYi+FEVN2bwvgyKV23iiUedI/Zoclv5pdyVQ Js54C5lwIYbgGPrp8InPYViLaDyoNBmDF+KyYrXEOE/UEIjjPhbFuFlVDvrQrKws 1kC9UwuLVoFLDrJHTckmEXJ4yR7KMz5jAWPEn3o69WSw7p+QuGP6keU2MQN8qWLD tjT7VW8kqnKapHWBA3+hAHh+cRWW8rAqpBL9bKop1lglmQdl8IG4TBbcnaYFbt2k thDpRrT7z/tcNik3GJXDOwuJkOL/fGVpeT5K7UusbY2/OQtdOuroA0lPzBtbodBa dPoP/UUkeFgzm6bQ1MOpJZnMMmKzw== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazlp17010003.outbound.protection.outlook.com [40.93.13.3]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge76s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wK19Ax6z1w4dfA3WLqBX4rOr0BKFQ/HLLa0T+y/YCDVm6O8PqbZ1yNvdLPRacvxdjC+BOl2sp6PO2m6vS+OUotYcekQ3K6KMGfuRoKX5lMKu+trKdSYhSu+hGaG6rzduN5Mfd+i5s/JVlU0fzDbwuqC410H3dv7rnZ+RqXTB/WMBWs894rxktLzoTHfPDDgKNVvOci7MTssheDLi4XkjTt71aHab15fmHWJtxAukKV4FDCbYBxfCdX6YZ61+fDV0ymHPois/saFSMeq/RYlBOsE5Pifqe4NvE92fyntkGsMrbLw49OjSshULoQ7wjzkb/9B4FCUWMsARv6LnMOEdmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1guDpteyDK9Mkh2C9+sR5agtugU71kb9jyl8MW/ZbEk=; b=pqYTXoZq8fUrd+D6qO8ybEL2HxDx5eirNFj3aT2SAnJtFAWMSrhJq2ImSz+rn3zLA/v9/Ac5JQaBDs59tIyfDbBaPUXVpliZ6U4QOh7VnnQIYiZFcWRYgTUAIHmtCyHnS/DqYI56KfK6MIMELLSjdY2T0VsYkhX0VaNHw4W4xviwZHGJPP8dL1qvjgfZWHYN7nFmwcqzzVvk2hD+ImZjv3idvMJhdSfESQrKrS++n44nFKNlqSxdkBjDU9C9ekS1RzeYRONNHCufmTk705Ho3SFowWArsxeBfLdpFyFhWkNacsnGDPy446sJdNK+d9srRolmpWlwatJ/mKnBRde7LA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1guDpteyDK9Mkh2C9+sR5agtugU71kb9jyl8MW/ZbEk=; b=BgZp0Dwc0TKF+x8RUN1XjksuYKolx5Ut7wCXKfWAJSNrFIAsoKAu/VtUR6jkLAoCPtCKmPMiQ5cqTJU+Sl48kVL+lsrbE3MVPoHBMQHoWxQqrtCW9RjFuKzkWn18F+9/1/wehelqC/8bFxg4w+mssW5H67CzAOCYUUmsXucvNkaa5tC7OP7KKGw7nCFVC5mX6VEpDhWnrfor8kHvBmQMl4koo1JCoLxloMdOwQmmdyxQqd5yV4RiponMXJ4300PCO2FcfqezYvsZ7LlAkPZknC5zJhCuNxuigwKDymc3PjpEA/DGrBCyHC9+St6cxFLmBctt28JrcXHFmdWCDv8YTw== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:20 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:20 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 08/18] KVM: x86/mmu: Remove SPTE_PERM_MASK Date: Thu, 13 Mar 2025 13:36:47 -0700 Message-ID: <20250313203702.575156-9-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: e9d2d77f-eaa7-4de1-5e83-08dd626b1465 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: 4tgZxpLs6zN2i16Jul4/A8zFnO9WeVX6DmBk9uaTlm9H2/6rw/yYT/xs/AXQaAcBUYgcD2CD8r9W0JF2MoVMB0JRVL0ebHo7qZS5CVXu8wejwy+odLdp0mHrDmu/ks3qyBYKZz7h2cQmCi7Yg66c2Xxg3H5Mb2+fy/pHWSRFoqHJyZ+TJZpJbO2YZHTXDDuoRnZsbKq0S6ojaS8jgF2+D5qwiG2Fqv9OQ0n3MQ4z9Iq7sPZGhKaWda18EBG1jNhz//fduffLPpsZj8BY5g+OMgoLnlJInetS2ZoAZVDVvlR2gkl5opzpUQwZljLOQQe8WB44czV7MIIBGo+z4RelKDnFKU7/lyn2F4x4Cep2ir6/FwQokeGmU87rrkPiyGN/yjr9IS5+zzg7BZymu5zNIIaZG3bA1zpgnxUk1YE58ynyLZiqoOk/OaJJR5POS1WuXeLMzC+2GYBIK4wQsNTDAm8xU1GXoZBaep35r4RdS2oehO8+vN4iEZklxIqQyaYEE/NMDJDGr2kGCkzttPl8xtF2r41senNXQwsGZuuVv9PZgEc2jQdTCbmXIH3+Z24OySjFD0ruLnLOplVhf/VW1Ty9tOcig1epIJ63b9gApllmfDv0raWYL8bUJ/fIFubjGWwNb5Mx2MLUjXSbTmJ12aCckJa5bnWv8BpGK9pB8gU9vYJPpj+0ASrjWxNWIKtcM89EjDiBezyqwfyqcKfbev3Vy/4Nzacjm5Gn9RrxBj23FlmB3CQblWk2hz8C9TB0ucOH/GSdv3cZlIhgoskvsDlqCnE9PASm/wH43jQOBChy1p4VE5qlNLGptu2GtWYVcatUCM9Vk98Q7hjDepxJMXYtjBzfHPRKGsH0C9scXW4NeR08TztI4BGeR00mCEDtA0Pa6MA1z1LlA4aGX+7t7w2wTfm7mO+jceQAxNnZVcB+bbK9vQ53BbXE09p2ERUYSC1ows2I96rXfUp6yBJPoDabQzI1G9dNXL1hFWQgig87cvnDxycKqOHrYVSVGEnNIqJ1SKVuncuO8L2qZJ5LVkogvmJQcDM99giut3yiFx52B+ggeRsD5cJloejQH8FZp7dJdG7FaZZA+1rxKHwXA7+ZrljgrUFT+lHeKlNHiM79IK4qk5BBx3gu2ERR6rZYuXRy7Tn/vuJ3CGiUfqPOeOuGWwV0Ou/p75MZZiZGJoqlNLCxcDK/HyxuCrF0R0Re4XxyxOD14NLUUhC4qxRrF8T31TZ+XudIL7EMHJMOUg55gi5B1fn+t25yu3ke5gf4ZQDLoBPaxCGvCnrZqmCVQQfxHT9rBjMML6KDy62VH0UzlK73s+QnrzO3XbUt5qzJs/2jKJ/+GibwXomgVIG/h3j4Mb75rrkV2OABrl9zeslgnhpdqb+Fa0wbu6EWBZYUTX32nHOJ5y3qOjvBP6uFEmbNLh+DI6ML4MwYOBoja4MANR5I854YUPinMXHwgw736IrNgx8nxDiJXEM/KK6EVg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +aa9W0llT7NYPNRortyCC+LBNHCujhvBIVfFLZ1KsANIOp2Cgdkpy/VUXwO7QHL4d5+qm2lTIGeNsfV7HWbmbWS+ZGqzTMR9PV1jpqqcHaTSKGeFuBipPHNoQtQoE3OvOa002ceHOIRlCwLYs2QYY4S2F6NsJGNpOZXp0fVW1t/RVvi7EzY+8xA01N+qFF87RHjruQZZ1N+aL/g93xuxxAxOVfMiDEw5SCpY1CZT4q96MiH4uBQQkZ4hhFc2z8AbqyyHowfiiHTnkT74QYibjmfQOSDEej1hEIr2/wVVPYULMsB3VsD156wmQi7FCmwKIjMstdHeIbHhisaH9n0i7d6pdy47pnZIzX0XqmtiySD6Qke6hDV5JUy2Kbj5wQ+x5+bYhBmw1A7FxD9o1MuiJ0JjGraoNjPOrDBslzHNu+cDF7rgTjvnlmubTkeeN+TI0Tz/8EA0x+3RAVt36AkLonA9Ko7g2Vc4eBbfVlRw/zDhRwOEwbV7fHCnVTAd1R6D81Dk/mnJkdgig7CMUcv5FljZIoh0lrxSorppUCZD251JvHNW6Ncazb5a1y0RQDGkSsttMA9vbfFtmCEJmHlhJA5y23Dvg+8CvGaswnixOz+YHTgOGbiQfMAWp9mtalBjRyT+hE+3r+6CVZ/A6K8Za5/mKwqiNsH4V5bTITRKfpL/a1DYvhklZYG7Aal1xvBjQRVL0rlOFe4FAyZp92XCutkiIn4J37YnDu7Fahzn4A7yMkidNldnPg/KkZtNxQPcgI0qYdNM/ILxUZGqvUbyY3u8N7xCaia0PZTj0axlMYXW7k6K36xCjkhy3JRfkIiXILs0T5FX0zd0aqR0UNYElasFTz8oS66Gm2P341+jn66EeQR77pT495KDBxpf6FGNNYjo109sdBIaS+Nxvhy5SCSgVsLHpe2ci4h4ku2YEmKZEzdM8yInANqFYHQX6NVLXpHkNDCOjsfDGyBhBmhKvcC+NL9HQJYkKUHSqEkHJ/1aEmFu7LM8htiJsR8KyXzyd+RGqAjfHqkQNS5+Q3EJemCmC7okUfIInm4f7PXU9Bu9uM8jh/75pA2b0eetpMXUOl0rtfB2uCuosY8TTgLqaQ/ByCkIJVhTRz1KqLyhfTzPSIBy0KbiMJkPT8iRMg6UX2mA52pK8lIM+yS11a7FwCPmlp3uGI74KSeNEsf+ZD6f4iFFP6AxJ2DwwIsz5XM+K3SFmG9mv3l96xmvVB0KA1C2aoWc/3jrhs1mk/H3d1NZrVs2pw/DzXbvoCN4uhlb+c8lUp75f6h1NkKUGn5W8BwZO+xPT2kHlryeOUj7iUJjzUppEu0Hbl92nIDcGG7s2ZSQkiqPWrFlHQM7ezq8zVPNKSna3XnStHHUto7UMIAwB1k4qhFqpPLHlYAsutEFvz1G8czv8lPext1tC0pRmtjzAy8WAjYawLv6C8egbp9LDgy9U1AARxy/6lOJvz4SMxG1vYjVj7cLZZWRrWxWo1rJeoX1OsdjcHTW8CYi56eKfTEwKO7G/S2Yreo/3r9hnA8qkYJds1mlag32qBGiVAGM+uj9IfJvJGWBgVnya5ayDKubdl8Vjk769J9nvK4cLX4t9C244GB0qYy3AWdstw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9d2d77f-eaa7-4de1-5e83-08dd626b1465 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:20.1544 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MbaPnK64mmNWNyrAhk8POGWO7gDlxXtb9LQ2c2FY1jX0grDR1XVR0BVp96GUYs9PprjVx5na98XT1j2njowTqkqdYomGdYxFSVc1mdFlwAw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: 4JiSiVgT0F5xT6cJJw5_s5x1Fmbq1fDN X-Proofpoint-ORIG-GUID: 4JiSiVgT0F5xT6cJJw5_s5x1Fmbq1fDN X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33bae cx=c_pps a=wModh8UEFt2TZzYV9Lvs5Q==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=sKgUPJO2Fa4kC_44OIQA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe SPTE_PERM_MASK is no longer referenced by anything in the kernel. Signed-off-by: Jon Kohler --- arch/x86/kvm/mmu/spte.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h index 2cb816ea2430..71d6fe28fafc 100644 --- a/arch/x86/kvm/mmu/spte.h +++ b/arch/x86/kvm/mmu/spte.h @@ -42,9 +42,6 @@ static_assert(SPTE_TDP_AD_ENABLED == 0); #define SPTE_BASE_ADDR_MASK (((1ULL << 52) - 1) & ~(u64)(PAGE_SIZE-1)) #endif -#define SPTE_PERM_MASK (PT_PRESENT_MASK | PT_WRITABLE_MASK | shadow_user_mask \ - | shadow_x_mask | shadow_nx_mask | shadow_me_mask) - #define ACC_EXEC_MASK 1 #define ACC_WRITE_MASK PT_WRITABLE_MASK #define ACC_USER_MASK PT_USER_MASK From patchwork Thu Mar 13 20:36:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015883 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCD0E1F5608; Thu, 13 Mar 2025 20:10:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896642; cv=fail; b=PsB4PTjI1zFLsE+dRPBmI/eiazoWqJQHDQs0YejiKjNsY2OhnwHZ1nZgjcnyg2hDhS6PyvrlkPqSKqTjp932TPEpfpLILTQzCFeVxnrcqKcF5jj/lIObSIBs+YtMqM0Gx+h9WEyLFKabUiaybKvNYRyxZE+UI7vCUF+DCG9g1r0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896642; c=relaxed/simple; bh=Q2rLyrJUBViZyGVQGJzwp+qy9r6E5e6tWVsOJqe+7tc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ZL+cPTaM5e7IGriQY3q2RWClQPqYlNM6K03p0bGyg0S9Wc3gyUshHkf2ehoqp+QwgyXYyYTNXBwbMgsbJ14v0rjKIAhptKUr8uxi5W7NAaveTZHkBZHlwiD4jV4Q7L7TwaD6C1Wm9JHu4EL3ozO5G8vtnBkCzcKsKGSqAvmcDHo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=hRpfYNAV; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=PplxefNz; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="hRpfYNAV"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="PplxefNz" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFXACm011270; Thu, 13 Mar 2025 13:10:24 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=2qzHKAcGadSq/KNxuKnDK/3CPRkt+gOoqN3LM0NkI xI=; b=hRpfYNAVxFx3NOgHSnK+4yYKDGRKDncAuYRBVfux+IUiL4QRZKLWbwHPF NJmAKk9Jfp8N7XUSuCpEKU+92MA96TrjHS/LGmT2un5XmJaSKDogfl99y10L9oyc ZsmYtE00051LzQLJwbVV/aV5PgCw957CAuRH7MJY7AaPBLBxhHTU5LKVXPbAjK9y Mj7lKvLEkGFrf2fz6CZMHW1VTgv02F+Fo2+wroRvdg52bE03qdnzmPZkMJiLeXEw Igr/F/aVivLHHRIqRuEeZzxkGmV76sducFNz3WEVih7Ah0zeGiPLwveNBDdtQ+/3 T7qYVwzQMHumogAp4G8tPgrOWL1Gw== Received: from sj2pr03cu002.outbound.protection.outlook.com (mail-westusazlp17013077.outbound.protection.outlook.com [40.93.1.77]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge76x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=a4zq8vIqFmccV03pLL9nYGFmzyI6DfXvbO290+zX8xH1Yx0oh9vZ6KwA8MaiOIbsOYOzw0+kti1rBe+8LYJLKMXcRVPmtmuugi8v59SsFT+Y9xczDBBPBHNJTjbLswP0zyK7oPEzcCVMKdv9kuJTeIjoIh05LBQ3IWdKlwyYCChJjhQr3/QR8sM5upmRKJxWPbJvBP//ys7zVnMhrEN7fFjPUJBmsvbYB1MkJjN0gLk+mnISvsjfPweWgf7xFiDb+bO4hbvulgTuCageEEIwZn8oDw7wUpJ5B1rOFlos52CuNbOKO0fmekGnqL9883PYhywCe9skw5bfpc5EwM84/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2qzHKAcGadSq/KNxuKnDK/3CPRkt+gOoqN3LM0NkIxI=; b=LFC569cxTCpKH01rAyHHpx88joqXj5wRv7OVKYfa74Hczgz7Vs48/IflMdehDsadMDvejXQ1i4vKuJuCgzagDQzGUYVH2S2/R2jf1kNMuMrsgGsq35hSA2N/T2n7FkPXr3wtaY9/xCR1K1nPNU5vRAgcooyKnnk53CBq+TxlRjIHy1vwxah+AVlkZYgLEvs8G7H6ufWX0Mb5NkCRQ1zkSp7UGi+cT4IYFcYjcYcBLOOPAVCHxnlwy2YLcXaK7lSoWkiTko+NowMqo8juTPL0xM8BW7D8RpNC/TJESwFVxdn9bNEP1kVKC6Tg+AO8zD83rrusbklibiqaeKIrEQo3Hw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2qzHKAcGadSq/KNxuKnDK/3CPRkt+gOoqN3LM0NkIxI=; b=PplxefNzVYiysTC/pQKwKCivOJkTvu69lnDEUPNqGq+dznx4ZbCnRa+etSllnsbRwBuKkTQWQ/WsKKSSQJ6ddKHwgsS/tOIxeZWHgrCt8R43nH1lgU1w/Ug34e7z5noMxNJ0e1B8JrKfO6/iILGZGk8nbalZt53vetJtYn48f0HmmCc8NYKo7xz0C3m1kYzGquDtil7UKa/CjlhwR+Xz0oFtpmTlk40yYBg7JFBE0k9xzSgnh+P0noIWlgh0rf2woqaQOrBnWBic8nyCvLRpDa9wOOx02p5Gl2f7d/jVesi5KKnRvLL9NdcZapKrala7eoZ8BkassTO4cTJ+pF+TMQ== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by PH0PR02MB9384.namprd02.prod.outlook.com (2603:10b6:510:280::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:22 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:22 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Jon Kohler , Sergey Dyasli Subject: [RFC PATCH 09/18] KVM: x86/mmu: Extend access bitfield in kvm_mmu_page_role Date: Thu, 13 Mar 2025 13:36:48 -0700 Message-ID: <20250313203702.575156-10-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|PH0PR02MB9384:EE_ X-MS-Office365-Filtering-Correlation-Id: 95008581-aa87-4318-0059-08dd626b15ef x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|1800799024|376014|7416014|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?3QqB12UrCQG1EYnt3J/P+owlXjK8OsP?= =?utf-8?q?QlpfN0w+KdBFwsPIOr8dG4wbGUv10reR6tAcc/yBC7fEfb0DU4hAYZ7SWmZxymKXi?= =?utf-8?q?Z2+edy/pcr4SetSQvE/9ohdWKDD9BlBdlmVBN7qDpdJ6rn/ivIePPRsRtwMD4oyjo?= =?utf-8?q?hZi+kqH2mJoA8D4OPLat3nbMSRwa9sWxUuFX3hGkWlHkSXa65rM6NmjOX1MgqnVui?= =?utf-8?q?IWr8CBUm3Gx+JZDjJIvWaYuOlMJ+F8v/VoakhOjrt/t28UgIJEMt18yEjuQycWrRE?= =?utf-8?q?t8kFBEXMqVxdPkGgW71FjouQLod1P7ZRdnMXsMM7lKFc9UU5xmWfMvVJWnoFfl3vN?= =?utf-8?q?k0HJj1RkARlQ6YB8rGszM9HuwKhZ2hUftDcY9WuuP3GhY2cbRwAQn+UJqp2WzmwWT?= =?utf-8?q?R/Hbflw1kfCHHCsElNcZ6dH7H/qHIUgIfo+IK0/RFdWvulTZr1H1GcjAimSc++UHl?= =?utf-8?q?ko/4daVIp4ynIk9kumkWsUtMVbTEW8LB0OJvzvYFHS3RCIxWqFiGBCaecR0f10VTN?= =?utf-8?q?3GvggQAjfsJqGYu31W9+kPhfo/xmqyjQk7JzTMaxoKfijOT+8gobm5hSU9zqRM9X6?= =?utf-8?q?JW/0Ogk/IpvGWdAS0uwnRNfqYOySg3U8D0+0jNF2FXPpor1b8Rh7VwVdImn9vQII1?= =?utf-8?q?zNgdJ6LQTeroE3ZKCbqLvPsz/M9sM8MjBkhYeZuxVPm8a4wk1pyK+8C8CejGaCizr?= =?utf-8?q?fILMhS9+ooxRp4JzqszFMZs8NseL9lVtW1tMZJWVkddWGbe6Hrb5SrI/iOEkZrhpz?= =?utf-8?q?+hrXi5SS01j1J+YR3aBsyRbmnHCDx/L7v2je+n14wivjeBFWnU0+cKXQsjwtwhGIo?= =?utf-8?q?CRN7QJK4NN/o/dT++F+9622kcQBfMvN/zPmcMg2gfuoAog2yUv9ohqFMfLbjPuogM?= =?utf-8?q?mFfXUO+emYzDh8OGv9s81dHbCBQyLq2TMMdyECDeJWmoytFRVKmeCUZl2M7FpPUuS?= =?utf-8?q?8TkBtuWI669qz31MQ1FytByJdC0mtVuPwR2ziTo/eIqvXG5hkbdi9AQH6DVTuv7d2?= =?utf-8?q?XQOdNkwoAcJpZOe1kAtIyIr5wxMQxexOhCqmVWFShMfSmDPbrKRRIZ7SSlMPRVLNs?= =?utf-8?q?cLSkFgkkIa+K7JHVytYfPpevQj5E/aEdLvdRBJ07HJS53p0c6qKo+67kwsw44ctlA?= =?utf-8?q?qk3dPvRyElVfWAZzcbbb4Y4OAiaN2GqM/SZHGBmoQ//hRZumAvMWqwcPhpPNqseQS?= =?utf-8?q?7O0GB9swDlN3JT4y8FxE3B+OPNpDLeRo7qD+qMNouKZVT84NY1Pm07gbZjI+dMGE4?= =?utf-8?q?/Feu/ZHc2orBtqxNoNPnLswcjr9UyQb2N0oUnRGHyZPyBN939QMot57r13t1XqOEk?= =?utf-8?q?Gi1baUVJZyHsu1H6m3DbaxjxpzsXzHgSLaGHj2OqS7tFbro+q8dNnCgNxA+OdHM2G?= =?utf-8?q?kxNJ82L/lic?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(1800799024)(376014)(7416014)(366016)(921020)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lS6qN9V8UXlOvJImXD07f6J5s8x6?= =?utf-8?q?nWga/XEc8XWSx1BRX+TmigarSGqxOA1WhiMxaYMJTtRKWWLnNb0BFooyK0hUeFkXa?= =?utf-8?q?FBjRO9bCOhWSRu79Lgo6bVTbFbJaAA3XtFQn86pFwx0z0VvA3duNmBbGgk5p/ecPw?= =?utf-8?q?a5XwWAH9lA+NZ4qQnGzW+1A80ahsotzYJpxO4PBw9V91g8a++oVRWHqTA2dziSofy?= =?utf-8?q?Vh5uuKd4SITFUMvlx8WQWVjIMGYXZ+KC3F5U6g0JzF968cVOFYHzp59ydnP6GRus4?= =?utf-8?q?t2KHU50Hldm8Fq/lXK/1qzPKtO3VXeuThbAPwKvDfqKlzQWiGLlRgnmmpHhOylgYo?= =?utf-8?q?mejlCkNJXy3t3nr/Zg8B+xk828J/han3b2sjqCcaKUp9a072qXOKARHTq1QveDQfm?= =?utf-8?q?2soRsa4eKiwqo/DD8bSP5HV9zefjPZ8wguRuNPsoBswwsOXlvPpkxV2Mm+aOs2oMy?= =?utf-8?q?klGslMA62byc+D+cHuA475z1M1K9B9KhNSoR5Vr9z4JWNfhqX7X7Z/lPyqtMu96k4?= =?utf-8?q?z9S/Z5F3iwqWTC9hYu7grslq9DjWGE5vyRJztapo13ghu7w7iXUqmwC8FrwTe7CZb?= =?utf-8?q?PwRk2IAVf4XBsVPRdU6kG3SRcs2uWt2kBQqs303FCK4b6RRvJ1FW8ZWnaDhjBr4Xx?= =?utf-8?q?YZUSClQvTX7OJ2I4wHtKckC+IbgvS61Han6oPqojJtVfmCOyYD9iItvbSEhvwDd42?= =?utf-8?q?HWE5//IV6tlTZqcpJFXsom0dcOEld5Lz2saUlxE6mJ0rCq8e46/V4pj3/91mtufRD?= =?utf-8?q?5k6vUNQNpOHw65JqnIF9OEd8f1Rhy7wUh6dFTklGqMQ1K0EyDkfuSh8j8lGv/pHQ9?= =?utf-8?q?olwdKVxv0/S9q0x0tJkfB2HSZbdVnvC8l8MutOfsGeOR0ay27JtddYZPUfwk96CV2?= =?utf-8?q?ECGAFiaIAoY8AWTDMBi/IdmmFz4Au8wP1jAewhnoj1PVJ0sMLyoldyD1TSRCNEwAu?= =?utf-8?q?Lwk09XgKm3Vig7YcspF+nlhOpMdp+eyiML2XVznTEBBQ1G0DyXnu9lvzVmcZlQALn?= =?utf-8?q?fAy/SMWdqQpyWINIHU+Znpf4Jg7E30pHUFQWIqNK1cOnukRjvhnMQrlGPD6Wad/OC?= =?utf-8?q?H21yCeLsfJZtkruk9sgXaMHvr/5j5Wr6s8kFn50oHRsE3wwPnf6vf0YBLyU6fSlLs?= =?utf-8?q?QANlCxPvP8u2Pyaov1YhHBNgPPByLPYDYBPcLKOqlLzh3oRUbJAKOzIDQoumYO2N3?= =?utf-8?q?RLuP+q1pRLtBcX7zhPGtax6pBHm747RHboM4chO57vFmIETkW8xPBvODc/pIu+jNz?= =?utf-8?q?4YBKE1HUXb7s4TqBHO+rSW33LKBKrTUJP3170UPQvcDHc2z5PdMi6c2Fh/oOo8NpZ?= =?utf-8?q?dm8FoNAkt/EfMTHzxXBnc4PnYIB8J1hVsheu38UHnV+wFDRvlZpUm4Y188wuVPHDv?= =?utf-8?q?CZ0k3Mdtuz7b2FoxmTlkWY5Q/OTdzt4EZmxxng210xWewvXEvfI49MSObz/1XJGfq?= =?utf-8?q?jF7ShtpWFlrtwAdrCcwTPRznspr0DCMdbYNvkcJYWlAz4cMIw/1eFJYbeD5SESPTd?= =?utf-8?q?s/57htPoauty+D0SH8+Md44rVhGoYD8o7A=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 95008581-aa87-4318-0059-08dd626b15ef X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:22.7723 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OF/utC9wDtlJROFj5kpDMu8z3novROYW5hbOwB9+bx2vzKo372t38ik/tpv87kkqTIA+JBpVauQiXw1TfMOVJIXsacWQYqk0YoHnutwRuZE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR02MB9384 X-Proofpoint-GUID: aQMvmBddV32wZtvNCKEj2oK1q7xEt4jp X-Proofpoint-ORIG-GUID: aQMvmBddV32wZtvNCKEj2oK1q7xEt4jp X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33bb0 cx=c_pps a=1Ha7URm6ceckcZ/uwdfrUQ==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=edGIuiaXAAAA:8 a=64Cc0HZtAAAA:8 a=uyyFwX4jvXRPhS2kFJ0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=4kyDAASA-Eebq_PzFVE6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Mickaël Salaün Extend access bitfield from 3 to 4 in kvm_mmu_page_role, where the 4th bit will be used to track user executable pages with Intel MBEC. Signed-off-by: Mickaël Salaün Co-developed-by: Jon Kohler Signed-off-by: Jon Kohler Co-developed-by: Sergey Dyasli Signed-off-by: Sergey Dyasli --- arch/x86/include/asm/kvm_host.h | 10 +++++----- arch/x86/kvm/mmu/mmu.c | 2 +- arch/x86/kvm/mmu/mmutrace.h | 8 +++++++- arch/x86/kvm/mmu/spte.h | 4 +++- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 192233eb557a..e8193de802a7 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h @@ -312,10 +312,10 @@ struct kvm_kernel_irq_routing_entry; * the number of unique SPs that can theoretically be created is 2^n, where n * is the number of bits that are used to compute the role. * - * But, even though there are 19 bits in the mask below, not all combinations + * But, even though there are 20 bits in the mask below, not all combinations * of modes and flags are possible: * - * - invalid shadow pages are not accounted, so the bits are effectively 18 + * - invalid shadow pages are not accounted, so the bits are effectively 19 * * - quadrant will only be used if has_4_byte_gpte=1 (non-PAE paging); * execonly and ad_disabled are only used for nested EPT which has @@ -330,7 +330,7 @@ struct kvm_kernel_irq_routing_entry; * cr0_wp=0, therefore these three bits only give rise to 5 possibilities. * * Therefore, the maximum number of possible upper-level shadow pages for a - * single gfn is a bit less than 2^13. + * single gfn is a bit less than 2^14. */ union kvm_mmu_page_role { u32 word; @@ -339,7 +339,7 @@ union kvm_mmu_page_role { unsigned has_4_byte_gpte:1; unsigned quadrant:2; unsigned direct:1; - unsigned access:3; + unsigned access:4; unsigned invalid:1; unsigned efer_nx:1; unsigned cr0_wp:1; @@ -348,7 +348,7 @@ union kvm_mmu_page_role { unsigned ad_disabled:1; unsigned guest_mode:1; unsigned passthrough:1; - unsigned :5; + unsigned:4; /* * This is left at the top of the word so that diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 8e853a5fc867..791413b93589 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -1915,7 +1915,7 @@ static bool kvm_sync_page_check(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp) */ const union kvm_mmu_page_role sync_role_ign = { .level = 0xf, - .access = 0x7, + .access = 0xf, .quadrant = 0x3, .passthrough = 0x1, }; diff --git a/arch/x86/kvm/mmu/mmutrace.h b/arch/x86/kvm/mmu/mmutrace.h index f35a830ce469..2511fe64ca01 100644 --- a/arch/x86/kvm/mmu/mmutrace.h +++ b/arch/x86/kvm/mmu/mmutrace.h @@ -22,10 +22,16 @@ __entry->root_count = sp->root_count; \ __entry->unsync = sp->unsync; +/* + * X == ACC_EXEC_MASK: executable without guest_exec_control and only + * supervisor execute with guest exec control + * x == ACC_USER_EXEC_MASK: user execute with guest exec control + */ #define KVM_MMU_PAGE_PRINTK() ({ \ const char *saved_ptr = trace_seq_buffer_ptr(p); \ static const char *access_str[] = { \ - "---", "--x", "w--", "w-x", "-u-", "-ux", "wu-", "wux" \ + "----", "---X", "-w--", "-w-X", "--u-", "--uX", "-wu-", "-wuX", \ + "x---", "x--X", "xw--", "xw-X", "xu--", "x-uX", "xwu-", "xwuX" \ }; \ union kvm_mmu_page_role role; \ \ diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h index 71d6fe28fafc..d9e22133b6d0 100644 --- a/arch/x86/kvm/mmu/spte.h +++ b/arch/x86/kvm/mmu/spte.h @@ -45,7 +45,9 @@ static_assert(SPTE_TDP_AD_ENABLED == 0); #define ACC_EXEC_MASK 1 #define ACC_WRITE_MASK PT_WRITABLE_MASK #define ACC_USER_MASK PT_USER_MASK -#define ACC_ALL (ACC_EXEC_MASK | ACC_WRITE_MASK | ACC_USER_MASK) +#define ACC_USER_EXEC_MASK (1ULL << 3) +#define ACC_ALL (ACC_EXEC_MASK | ACC_WRITE_MASK | ACC_USER_MASK | \ + ACC_USER_EXEC_MASK) /* The mask for the R/X bits in EPT PTEs */ #define SPTE_EPT_READABLE_MASK 0x1ull From patchwork Thu Mar 13 20:36:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015885 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 746D41FA851; Thu, 13 Mar 2025 20:10:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896647; cv=fail; b=Qj+7oLVM5d5aBNyU3nCSg9T8S5VPVqV7Smk0XPtuf7EgdLiJj+ricn9EJTs14cPTAv43xjjMJzENcqhmPcLIrGbxvFS4yQ/eNDgLdPaaMvxZNTj6V5KpbIFj2row5zAXLxAoZ5M2aYlYXOMLPq3oL34JsPQG2LaNVSzfMUQ3y9E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896647; c=relaxed/simple; bh=9MwHrfVMNjULF/8fMS9rEUpOSYn2+rlvEO/XHzwNqXE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Y580JvL1e6+cLUhiAPlyPLNsUQs7tENeiniWIZfkfE3SadENICoqzDcXgTfKGMuOPqhFn/NOkmI9Pzrf5rq6Opwy4jIUv+uxMntNDR60z7VxKiPm6WPoQs4+Je/WGEGvs6fvryFW5IJCqs4DvGW7pznz+3iCA6Q/L2tFnFAFqfA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=f0EUBn/W; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=SLsykAG7; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="f0EUBn/W"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="SLsykAG7" Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFSGj3009058; Thu, 13 Mar 2025 13:10:30 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=7mpUmj73o8MtCeMUZ41O/ege1+Ol3z0Dm5leFevXc eA=; b=f0EUBn/W8r90i39wYZdS73hZ8/KSx0Weg5nApFgG8Q7yGZY1V1UcD1sc8 djLx0zs0m15aFNI1LY6O/Q7VjSQKHoIgNsG8u6bqkiBfxOrq9Np+LaqT6dpP4i+g IDRhnDAkkEnegxLQxYKMtVTkX7HCTBUyBcCCWfwRTc9JlWZaVy6dgWtekCcPkEew E4tc8qL+ywl3cIK0AphSbtZ0csGGrWQ0jGewy2OVFpu++utnwcwB985hBoN0Bm2U ttdsOozTmD5NnSQAMvXVW7fQe7VGYihvNosqBfwEJIWvDFYAQ2b/yK4o6xh69Ew4 3jPWo8gaQc7mh6slL3BeEPpJ70+KQ== Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9g67ja-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GjxIZDl1Qg0oyqKkCJXpvPRKzG91WKwYHK34GN3Rl+MNdJn5+HYPAeT4ZA71sZWcpWUihxhWYn0BInAOk0eOAffnusscvCHmVKPqJmExfz+hcNJIb+qeyX6r4E8ymjV38HlD5VED5KN0f5ZoIPtemN0w1iJ/5E7YJvtwj/HkJuR8sndoT3yuPdcmoIxPCDbctHCup8ReVONXf5j8Eqv6deOcJKBMIpUjANWFYnTy8nQ5P45dn0kNrQTlY0TN92lRR7S3wos7mSrXS9cMnuukE7bjy26Zjw5/yGXextyuvTlgzahD44UTSUbwkoXgL2J5DGEGyKJd63JEKRMKAgpO2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7mpUmj73o8MtCeMUZ41O/ege1+Ol3z0Dm5leFevXceA=; b=sT+wTZiO5dE0f4lvpys2fKhy1sxbdb+Y0jYM4idNsG6M44J8/WaOIdFt1d0ThE4Zf2Bqfpnuo9pIvXeylB9+IwiZDXfxpV9QuWjOv/yoDO9B4eAbONsnXYTTqWPV0/8sNvdYJUEreE07JHCqJSl2aNLLZDdyQF4Nc7oQ8d9a3nW6qcIZ0ssaH8LMPGrxjtzYWEMvJMID6cIct+/AzvweI9g3kcvK/ev1GU1nW9tfN4asEqgZ8TcHiRr7h1hHQZQOyRe6WLP6Pw5SuNxYVlFIq9dixlDx5IHzUVASvzo/1D+PfyL3BOJF9mQQqb0/hv15U9UI+bYSFediiILQbQJr4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7mpUmj73o8MtCeMUZ41O/ege1+Ol3z0Dm5leFevXceA=; b=SLsykAG7P+aGl4Pgpa+tEdChrwD6+uBtp4WCcZyyGo76tZVNawvaNpZRCDA7b1160XDpKcxTm2mFJZGp83Ov2yZO/xHtCasszGPoDUA7dV4LkJDvP9jubURgXY5/skq4NQVDNeNMzqe3tiU7t/TQ1Y5nj835aim/PnPmzjsVH1LJTwI6wjub4s7TZejzQ3tO0gwVX6mtJ1VifHH+gLt7UlXTatgWn2bAgtUT37vlkK34oDYUyNbG+LBUReA9g31eV1hm9moagU1muytBcrCoHqfvq5XlvHLM5YsvU1T3leSHD17MeBliIeml1K3gPn3SBPGM+FRem6teHmnJwE+4kw== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:25 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:25 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 10/18] KVM: VMX: Extend EPT Violation protection bits Date: Thu, 13 Mar 2025 13:36:49 -0700 Message-ID: <20250313203702.575156-11-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 52cd7046-ba77-40e0-9d60-08dd626b175e x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: TpdtdFm/m6uD4p2mMPBWs7jRnAZEdcvk7rjhs2KQwpqsZgp4koof3CH1ef7S45Y4QHeh8gn447wystTQTQUUIIttTcqQJ9VjNfkqMazz2rGv06Bwfg1gC3atKiY22RPyrOFIxY+xZTkzkg2am4WneFKMfpeLPotUPdv0r+zuCelCYZjbOvjXhgSyUvAygICnnSWvyRJ6gtjPRI/x9KLKZfl7QgsdeWyj0RW7Zgk68uZO9CwAHGrjvywEiAZe18mmdVnybRTCPwXMAYd+OYd7waSZgE9D59C3ffHmBgSMeR7NPXQHUCwAGDS7AouCf/liTfceiC4lCMgrKMRtSFl6JpHDRd5BnW44gbC8sDCauwV6t+O7pFXJLQ022A1oq5QWplU8giupj2oME2zbmGpjefqRl0dEwr+gRt+z/aHxBTzLoOP5lrtwjQuDNASfd021tt8M2L/ZISULcuXP6mLPHVtlTQ6FP5tmsP5HV/mt49WgT+lqJUI/nCHvsxQCcVGYzBq8VdOsAMRMKmN3++OGxSzS8q4wSXxjYeIl0dtaTsP0eG54L58G21E3DFXpZlrI758LjYezxDhr7jC7r3KGNJPfj1DXZq0SmqiJQ7N0LrUznyLacpFOXrXltrQzWU1GfRGuZGE1bFHsarsllia9PnOA3GsuriSYsL49F9UeqRvvDdYDNcLtTvAIUjmINjo72Cyw4eN4jrUPcTSyyIukkdMcI+OO45HGTCuEGk4G33rmamrnzdIB04oxGzA/U2i6MtgbCuKOL7DqtnlFlrDlclhl/qmq/PfCTTR+NPs4fWztSF3aqilHcb2JSP4m+WxoKTbJf2GJKgerXmDSZEoQHBY2UqTQgmQ0z3oLuU+TT3D6L1KOzHelPS0L6C5awla0Ftttm1STsdk40/meIuZG61te1a/nSk0IIBEXnmo16ONeIcET6KdRgcjwAJhpiaPK3wS0r9HtjSKdFXQ6pibwmDhSdIKsbElqaR3srX3BjVNXWPgXR/BCC/n+D8pe0gWqcYwDoggGHpQLJOqNtMLtMv1zfwlCkmhT9YlQgbJq1hLa7cYzDKDUf58Ow4mRT6QehnY/Ft6/WDryVrPY7IDGByle9zVUjT3amjtu/8wSkt37iM1pljZai6K2DazHEyjg4CrX5bPjYCHb9Xeeeo4kNWgj0JTzc3usSVbwtEPBvwt1oglE9ntXt1lsvzNgQeE33wLxuNLqKCLX3lO8yGa6hm5q/Q94lEZmJcj5JvliErKKsmHy9CzXKezuoWD5CEDeFxCs/ufLv7zLq9wynLH2r5lu4z4fzxSFpWb9X0MLmi2FfOtrfw7TaNPV+qyHAH5gg+qRhKdkE7ZYqJVxwsCqPKM4K+scJuvy6irzqPjFLEoTGcbZAj6kC7UzAwsb7s5IL3JoZN3f+XyM7DdCxlWhheRkpTuRFEm8TDa02KPRH06Y0WjBj/3iGCm0nX6o6ew9ohQEG8pkkIvhfQ8UR2K82Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5CKHp118NCwC7DtGFt8oXR1sFsnQ3myUVcODj71j29S47xxmCsIzxswzLMjolx4UIegunu/HSyI865IXTz1n5aLxvRZg3+qlvHdimLNlnvoUvjFNkg+OgcN56BeqC0rF0J3u76luLt7wRy5cR5GFiOQOnRkMeSCAy0msmvQrWdtEmSvV2lkczM5fnY0NxohjT8lim9btwW1VKlPWy7tTXtiJ4Lp/v41jtHxxDnMHcvv9KArNAfv0hq83CP+26MlVIQ4c3MZIcpwMDYMx7h0kGL4eleIHA+Z8aZl+4YfIUOB9nZOO2TGJiUMDRg9gnDLz0OgwigpZXN7x1wDsqHGia3UQXFtDp2peV+Fk/7xagUFVo49lcR8+sef2ydaVRTD3p4E8zP8y07MXgxxe26ZBjRSy1JSi4rwbhjt7RUb71vW9LXiAkaq+OxDBCWCS0vMwXtScaZa2fZ+rBTZagUqcknBt7vDcAiTTLgrwCcyzRFAOqvznuxl//6Za/4/WsE3s3wdWJbzq+0U+LIGGwhyJjjduvImOwV4rgtAshbPuqhj46PpnBvL41PMVwcqMhGJve1bnL/inuQPdjU0Li49X9gP30XdcVgBAeOsgPsibfOM38fBeQ4qGvjkS9M4swqSgzxBmY2Bt+x45u0WL1RthQb5DYtNO89/ux+DGJxKHFne/xsQ7CW1mLB2tWoucOfRpIgbmfKyZXgqaOy2vbSX2yNpLj1iEdfa5VkHF/rmScLldZWfVVGaMVIs8iZbCxT4DXoJucpUPPbxWpiJLUGa1CN4vt0rsxCqVW6WDAYFQ6ZGdZDe60F9HCVpLydGyuYEc/0Xbe3kpssqQ8YFPaMVRHlPaCv72hvZJoOv8bUXex32h+yUD3iFASBUXTKGXMMSpYrR2EGi4EuM05q6sdlVfAxmCRGksFp7NfqArUaIZgV9jbltASYn2v0RgjqqsJyIR44fxnnRxrqWKbzURxkoo/XzJOTKxoeoNsdvU4ml/YoHfdmHlB+dzeBt7QZ9GlV/d/kbZGa0R2IqKu0W9iwJzhZ6VMN4A/BnQX8Se0NQm1x9/2FJBSKKmhRB6M74L6QFf2tW95nUl8LZPeGr/8xfutxTOHdO31twrsVJyn5SjWc3Ztxjil8dHUSEKtCUu06ukSyY/VfJ5JX1JnfUZdwnaZ5NTargAVyg0G76P4Yyzoh9P21BmewpiRYg0sPp6cGSKDS0eAy6I7YBE2/op5jC5fmVwbelf7VvqL+YaNtOkZDq6jgzDykrYNWCfM24lrTzis2ihYet1cEGLhGDvzDIfLQQhSAgNwKVuC0Is89WyxV7wUcaE43uFadW7eX70vslDEBpRDAR9sK0fmyb1gT5UZAp76U3oHo5wPtJf5C2GOXXRgerN/2U5PC0krEF3GBtvEthuuKFmi2xYuOXahNuMpMN7JqGIug/sb37x0a8c3QRL5q/+HwQaZlU+0efKx4NRHiaxK/qbshpAsVngJ5WGBAf68zEXJ7RNu0iZ9Zluzi8Bj6jbf5syAKgs21trHkaPAs+5RPnGkqVf12PADFhjDQW+omaRkXjxEgZnUjJOOt/GoyCslI1SnkeypHvtQmSeS5HMYnDVkoBlkjey8Ul4LQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52cd7046-ba77-40e0-9d60-08dd626b175e X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:25.1483 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: r+Ekfoyn6NQ1YmpgjG9kgH2aFo8GWisVArW5XpUK9MXoeIQeuQgrg88OuQWsYajI2UCVZQJcnp8LtmGteDwvHrBbZpFa7yVBNAeGY4VoUMY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: 7QqK-jzqCIq-IIpsnK4xx8yvpMB85WqJ X-Proofpoint-ORIG-GUID: 7QqK-jzqCIq-IIpsnK4xx8yvpMB85WqJ X-Authority-Analysis: v=2.4 cv=c4erQQ9l c=1 sm=1 tr=0 ts=67d33bb5 cx=c_pps a=oQ/SuO94mqEoePT5f2hFBg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=Ow9csONg1Gpis9EHYRkA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Define macros for READ, WRITE, EXEC protection bits, to be used by MBEC-enabled systems. No functional change intended. Signed-off-by: Jon Kohler --- arch/x86/include/asm/vmx.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index d7ab0ad63be6..ffc90d672b5d 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -593,8 +593,17 @@ enum vm_entry_failure_code { #define EPT_VIOLATION_GVA_IS_VALID BIT(7) #define EPT_VIOLATION_GVA_TRANSLATED BIT(8) +#define EPT_VIOLATION_READ_TO_PROT(__epte) (((__epte) & VMX_EPT_READABLE_MASK) << 3) +#define EPT_VIOLATION_WRITE_TO_PROT(__epte) (((__epte) & VMX_EPT_WRITABLE_MASK) << 3) +#define EPT_VIOLATION_EXEC_TO_PROT(__epte) (((__epte) & VMX_EPT_EXECUTABLE_MASK) << 3) #define EPT_VIOLATION_RWX_TO_PROT(__epte) (((__epte) & VMX_EPT_RWX_MASK) << 3) +static_assert(EPT_VIOLATION_READ_TO_PROT(VMX_EPT_READABLE_MASK) == + (EPT_VIOLATION_PROT_READ)); +static_assert(EPT_VIOLATION_WRITE_TO_PROT(VMX_EPT_WRITABLE_MASK) == + (EPT_VIOLATION_PROT_WRITE)); +static_assert(EPT_VIOLATION_EXEC_TO_PROT(VMX_EPT_EXECUTABLE_MASK) == + (EPT_VIOLATION_PROT_EXEC)); static_assert(EPT_VIOLATION_RWX_TO_PROT(VMX_EPT_RWX_MASK) == (EPT_VIOLATION_PROT_READ | EPT_VIOLATION_PROT_WRITE | EPT_VIOLATION_PROT_EXEC)); From patchwork Thu Mar 13 20:36:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015886 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35A3E1FC11A; Thu, 13 Mar 2025 20:10:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896650; cv=fail; b=k4Hz4WgVp5oF8KpY6lky3o+6N+jFmmo/U2F1OBq+U3oEA5iASBtJolRPyOGcQZgXZm76JDD+iN1D1FZmGAGHu4ooBFgRI/SFNCGVWBE2oHRH8xSKfwLzyIROumALUm/iaLOZpMPsN91myDKM4ZAl6Iw7X2PnUL/cVg2ezBEPi5I= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896650; c=relaxed/simple; bh=W50WHMLTRvx500GgCKilVtJqTyB41VsBY23UsV5JH8s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=O8uFj4Jd0COc53UotyYqIieE/KgOY9aTgP6GP6Tc1U4+iHprBIlRdCSXUO45mImpwdfXUyGnCmYz/Sues1SRqXRSAqSHwkKC3RalZkTFSOS2Y1Hth6nylsXVHdCVuC+i4JSIRtSDguOGHuNgp7oK0+ziYV+b1NfKK1CdERn8Kxg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=bmeVJZ9x; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=Kl+cuoao; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="bmeVJZ9x"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="Kl+cuoao" Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DFSGj4009058; Thu, 13 Mar 2025 13:10:30 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=+O+jXVltgYdj4A6eFxFrWPTE0N+w1ZTbN3qpKdv97 gs=; b=bmeVJZ9xpVpjGGsE4QC4jFMM0aDmrHbcZEMkl92/LEtC87wAGZ5jBZyRR eNAQeJCMVIApoG6NzYaYlR/lAD+ylpT9X0+q3d8b7T/dTGO6lGDfEh4O7oqpGiJ2 vua0GzXLSvzSiVnLgagVziuRPN4rI/zvvq1O/aB/VtFtVcZgo+0KFcOldeJ99qTK T8TROW8wkhsUilqkNk4VWL4no8r5qAhakeZO8vG/86qDE20wTk54hLx3bJpvx3YK io7OiOpFbLNeZ/QXC0slYG6rjl34598DsUhvsCts7AHtqt2md7UfdEK8/x8ek4me epzqjz4oSlOqhzzvO9+Z4NWMtubzA== Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2170.outbound.protection.outlook.com [104.47.59.170]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9g67ja-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v9Ln/SQfaM59QkuRkflUd02kHQy7SkzH1UoO/m4kDAmx48S1xEi/MFbdv0WoQuJbYQ2y/lHxBP8/xHH5cSEkoObzRzEa4A02Uq9MTLXhVI1D3b97HihXVlaCoFLXzceUjrepPml2HMc1AY11c2XAnWDl/939F7ARaQfZ0Jg6vKMb4fpPAfwC4lOrpojmzAlV4X7e+F01JYlLhbTZIvnTaSz7MmDAIHxpKUIER4QzNd7giIlCQDTQsXsfejNFvUSG90jDEbjvJmgcGpfPJkkHgd+Wrfp1XLVGggzMmf8L/6AIJ8M0y0zoszjZicw9y7sllLlJz+h6vyPLM92krN5BOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+O+jXVltgYdj4A6eFxFrWPTE0N+w1ZTbN3qpKdv97gs=; b=PVPrLgp3+Q7okcs9cuhreT7hEnNb1JM2ep79O6uhTQzEM7DB59qLnXfBHSGNoEDnZMmdNh9qlXguoXmBh+VXZ48PhZbcXVoIMA2kAJIew7BqcSN2+JZNbwCi1rpFCISQoyci7t1aCS7Sa/2V5BeI0jR1ElXnCSs4lJcEQDm3ixqzLe2kznclxctnkXPfYfiF+/s2W3oUg8Yt+izumgFWKo9ZvGq5SGR43bi54SsbhylsB5GtrgJnGbuRXTQ5YKM/0hJgT3tOpmO3KDSKsH7VLYEmiasoQoP10ARALxl8VEs9fLs2d8nDB63MG+N3ZMZYT+BhgbM7xuPkaUn4fYv5Ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+O+jXVltgYdj4A6eFxFrWPTE0N+w1ZTbN3qpKdv97gs=; b=Kl+cuoaoxlcIvF/ybVgscNGt8d6qjHTONwFLJ15eAClTWHdYgl4N+Lu/5OLpP1KxKpgGl6dAO6gOMYKzNMb/4ULiU77M9iT9ua0yZS5QFzijrwpclgXc/TgzRB5V9idhhwS0Qd14RupBcISl8GaqaWmGa8kG6NKFsVBHVQLZoPsnAOLXHyRQBBjXHm37/YmMLdHhN0PsZmwsc5M2H/o2QK6KBFvoNQ7MkDGNIZ92MYa+9bZICMwd+CLcX4MDaHFMb5EEC30TVrQbdsVwzKEUqL8ALp8Qzc3QuqMJ7/Z0YnbtB1X4tji2VQyLrE3xaT/yQ/g1bL1lBzlOod7qvokS1w== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:28 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:28 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Jon Kohler Subject: [RFC PATCH 11/18] KVM: VMX: Enhance EPT violation handler for PROT_USER_EXEC Date: Thu, 13 Mar 2025 13:36:50 -0700 Message-ID: <20250313203702.575156-12-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 497a17d9-83df-4057-d586-08dd626b1910 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FurjU2svn+ugcFIDFXtvBoT1l5buYBH?= =?utf-8?q?Help03iiJNWB/g8u1D7wC07YUWRfdJVa9UYoMP5xpFg8chCnfmkH20YlBOzpwNaNb?= =?utf-8?q?iuA0Y2yExZfPeL4XNZa79dRrC8oLp1bIB7IVym77bG6u98iogoAsw8xAQT/EYxrNY?= =?utf-8?q?5cxwwNNE2mrLuVMLaarFhQDvBqN9++kuOu0QRsCeoEViAdkNfxgqzzndNdzjXTBVO?= =?utf-8?q?tPB5dD94rPdFw+K8IsTis3oSytnTQJJC5mMnIwLFJdRDNW6t/WvRlonCLDxHZkgdf?= =?utf-8?q?kAAc/T9JuDa6BOOAzxZLH4FDMj/Z4w/ihSdIpKCzLK39PaYw0q1TbmT6eQ3WPkKbV?= =?utf-8?q?bSghKQiJ+SlODMnEbr9is6bAKHTRDkL2lURrnk/uBSk1kLbTCD9+iBnkANnOwsVOA?= =?utf-8?q?GcNf4d/VEiSuvhz12akTXdOYBdqbTwOsQEFfLSj3/v8ki6TBJ6GFvOzmIto+gace/?= =?utf-8?q?39yg84pTvlyZ9s7do5CS2BfajkznHd/QhEONC4+grScCsn6iu+m1GLMBrHZqOsDuf?= =?utf-8?q?zYvxtH4KuQS27XnA90RlkXqkXvFO+AoFAZ82oxwvVHb2WmK9iTF6AmkybbdyMAwDC?= =?utf-8?q?h0+gN6BsF8QUpa6zucKd6orotT9cFqP5w1WJ1A2Ok2VBSBHjcd2PIN2ToBv2i/8QT?= =?utf-8?q?y4FFAYADefFB1bdq1JsQ2a5SYDqXv1icOkPb8wFLxEM6E1Qf7RSNvMij9vQmn77ZP?= =?utf-8?q?PAMgwvEs0iWoUhH29de+gdns+MNkxT6LXPeZoNwFZoHtxJwLn9KHTCK9UB/wavfJv?= =?utf-8?q?InvcQFoImvK/DuSr4krgWmXG06dh72nDW/oBkdXecbd+qTaPamzK1h8WJLutfyepV?= =?utf-8?q?oACQ/sv504gxanzVZK05hvpY77pko7KnB45jBSxBRvt32aSVKUwO65zWIOc2b+F0n?= =?utf-8?q?x0DMa6ebVPHLFwY/a+W9m3YtHCjYEKWsuSn7YkCc75iF9vG9MTwsoUc5iN7QlyMjX?= =?utf-8?q?FaI34oB80SyJoDPpx6G9nJtY/XnVNgHKAhMOakwac+IVt0Df4PCrtrRnxL67yadOd?= =?utf-8?q?xp7GfQubsXBmGVduL8619qbz4CS0rltVyzUm4Urlx1fayIQswza4Jtxu2xG5l6Ew4?= =?utf-8?q?l7xLXMrEuW+qPCxKysIMG/4xBVWP9D3XBG0ThAhz04+jMOuPA9KZ6+YnYRQdAsSwP?= =?utf-8?q?8QPtH9t+VW4VeV2IDJ0I3Vc7iv7LRGyAzlyxbmN0M1btOgGMW9u+/tzJQatDvw/7a?= =?utf-8?q?quRQlxndf0iJz8DCGtPyPYJT/hqpyAkeqjScSMD3XBOJiJJI0gjOHk4IG7uFzEF7f?= =?utf-8?q?LDtWDf5r1FNbVB0oDwhlVrOSbrO4MzZc97Ar9puf7k257qeAasFWvpAVD1+DUI0Q3?= =?utf-8?q?l1iCQ47PbEOgcEAVjFR3TAYKAYofwm+aPG3cWwmsvIZFzNBGhYR4FSx2ey6WCheji?= =?utf-8?q?U5oEJZ3PsMA?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?tdk6+WYPAD0tbu5njZRBGmdWWLPb?= =?utf-8?q?deAIW75Xbaf9De7cDJWmveE6SdEnnyNk7woChGvYXtAbji/mrchCPZoYO/SK6qihg?= =?utf-8?q?c0LgB1DEHvobPF6z+TRXBlj6Tk21+lxAKjq/tiIgm2NQt31dhR55bX2UsihkM3+ub?= =?utf-8?q?9OafHOuMkain/9fPcRODCB2yDhRpk6W1IYkQMo4EXcExtG2qoQ5u58KY7PIIk72hO?= =?utf-8?q?0k1xOcLiyQ7eHOvTjOAqXzXjJiwcsZ0iwG8+UYpMVYw2swU+OwsevIgQ2gUjyBaHO?= =?utf-8?q?s9dTI/brFBc46zeqesXLb2fQgVqo7GW4VfDgLJ8qOh7f1oyCXx8GQt1Oy0ijyeIfY?= =?utf-8?q?89VTJV4rtyzwmqNkYAOpSKJrzqnWepfajEHMuIzXjIsTYotYmEVEQVDw6U68M5jkb?= =?utf-8?q?tYjiQ7rlQFC9U0tP5uGCXcO0bdwmgz+nb5bIaoi+9JrhgNoXKEe1C/3o5fab7deF/?= =?utf-8?q?/yGMWm8cwtI1jL7hxuKqeeiqBoetG4X2TMGr9N0lONZbL396+BvVVzVxWiBBaXd4Q?= =?utf-8?q?TacEI9YEImwGVO7AnKC/re39VJi4nlepfPVnIVbGCX9xeZfLXoUOfgVog1NeEEjC1?= =?utf-8?q?XTfNYY47IZVkSFvK1QRIJkSZAkX2VNakHGfyL5ezcga7RZKDCkW4tO4wdBbrl4SvF?= =?utf-8?q?l1l1hc9odrqp6FXtrH4A3FwKDzEf11uEBx/8s46fHIMR8xWwtAivZBrDaEB3b3TXC?= =?utf-8?q?7rWO+l9pk3r5fK2dTrOiroOnd+54iZavJ7FXZTRo/UjhBkVfVSyHx4xzOAFf72Z/P?= =?utf-8?q?uonfPQqvZtcQjRyS6TFAzCLjV+woSL6xuBGWQTfxEaPlybbO46RX/use1lKxnEPuv?= =?utf-8?q?xsxDROu7C0lChisAVij7PWxA3xJibRgK7wtF05TMNbxcwUpOq3zb0+UyGrAgyEe2m?= =?utf-8?q?8rJ2kYMgvM0djUmhIZH+XJQbnvzJUOtLCnwK+n23fi0pgv7sh8ILPHm84uLsMJSkc?= =?utf-8?q?Uu5IeRjnTacwtQq8DQ+K5rAcw7Vna74QlDb7gjVoQCRvfoqwjYLqxqjYzRiQO34d3?= =?utf-8?q?Pr44JOCHyfZ+IzGIUjTFwRNZvVrsfY6JMIXhIETbGOLTrDLxRY3MZGf/6OWd1gEhe?= =?utf-8?q?zpnLf/vC14/fpjdM8+eg6CC9meYl4oPs+LS/vcuY7p7NLn3e2nSfFp5bgIiNO33oO?= =?utf-8?q?6tHmoeqLKB+97x3Ny8RGL61SIUKhK1u71We2qC1v/v9zxdA+FGpHhXPuzqWrP+0Yz?= =?utf-8?q?1I03i5Is4HZrhKRF/KT7kUzALI9Gf/lKJMq7nLmaozSOXdVVQUF+OS9OblcMnv0ep?= =?utf-8?q?T13Is1Rq7WFKuMcybgrKfEVSSui1YL1517R/NH/bSvagaND9zifs077LIK9mK4w9J?= =?utf-8?q?IWZ9/6BJ96zCcZC+bVMF2kemjezdrDuyQyXvCV9wwp1n9c01apf8jvJy62Kv29Dr7?= =?utf-8?q?r7PAvTRzazTvvS2AK6IvawvBWziRVntDQ1c3gFZScnq0MC5ln4KtWGoPXCvjgnJmD?= =?utf-8?q?aF9TaXohtE9T/6Pf3YOKC6IRNnelmbEXNN16MKWXQsiYewwN2//SeSPZ/9l8rowfk?= =?utf-8?q?cojH1QMYew+DxmRE8fipoRX4Ywiiif6y1w=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 497a17d9-83df-4057-d586-08dd626b1910 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:27.9570 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fsIjnS+i7prQ06Xox4eMWSTHkGO1rftQTt5vCANKsIW8F/JXEDV3kJYICmknsfnchJ1+yZKFsdKJrCeg/TfPtfofny+sP2K3N/nOhLpe/ao= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: yMO-8Q4y3iE0UnRNDN3HToI3TSx0vJLy X-Proofpoint-ORIG-GUID: yMO-8Q4y3iE0UnRNDN3HToI3TSx0vJLy X-Authority-Analysis: v=2.4 cv=c4erQQ9l c=1 sm=1 tr=0 ts=67d33bb6 cx=c_pps a=oQ/SuO94mqEoePT5f2hFBg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=edGIuiaXAAAA:8 a=64Cc0HZtAAAA:8 a=w3Wncs-oLU83PDkzuqUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=4kyDAASA-Eebq_PzFVE6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Mickaël Salaün Add EPT_VIOLATION_PROT_USER_EXEC (6) to reflect the user executable permissions of a given address when Intel MBEC is enabled. Refactor usage of EPT_VIOLATION_RWX_TO_PROT to understand all of the specific bits that are now possible with MBEC. Intel SDM 'Exit Qualification for EPT Violations' states the following for Bit 6. If the “mode-based execute control” VM-execution control is 0, the value of this bit is undefined. If that control is 1, this bit is the logical-AND of bit 10 in the EPT paging-structure entries used to translate the guest-physical address of the access causing the EPT violation. In this case, it indicates whether the guest-physical address was executable for user-mode linear addresses. Bit 6 is cleared to 0 if (1) the “mode-based execute control” VM-execution control is 1; and (2) either (a) any of EPT paging-structure entries used to translate the guest-physical address of the access causing the EPT violation is not present; or (b) 4-level EPT is in use and the guest-physical address sets any bits in the range 51:48. Signed-off-by: Mickaël Salaün Co-developed-by: Jon Kohler Signed-off-by: Jon Kohler --- arch/x86/include/asm/vmx.h | 7 ++++--- arch/x86/kvm/mmu/paging_tmpl.h | 15 ++++++++++++--- arch/x86/kvm/vmx/vmx.c | 7 +++++-- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index ffc90d672b5d..84c5be416f5c 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -587,6 +587,7 @@ enum vm_entry_failure_code { #define EPT_VIOLATION_PROT_READ BIT(3) #define EPT_VIOLATION_PROT_WRITE BIT(4) #define EPT_VIOLATION_PROT_EXEC BIT(5) +#define EPT_VIOLATION_PROT_USER_EXEC BIT(6) #define EPT_VIOLATION_PROT_MASK (EPT_VIOLATION_PROT_READ | \ EPT_VIOLATION_PROT_WRITE | \ EPT_VIOLATION_PROT_EXEC) @@ -596,7 +597,7 @@ enum vm_entry_failure_code { #define EPT_VIOLATION_READ_TO_PROT(__epte) (((__epte) & VMX_EPT_READABLE_MASK) << 3) #define EPT_VIOLATION_WRITE_TO_PROT(__epte) (((__epte) & VMX_EPT_WRITABLE_MASK) << 3) #define EPT_VIOLATION_EXEC_TO_PROT(__epte) (((__epte) & VMX_EPT_EXECUTABLE_MASK) << 3) -#define EPT_VIOLATION_RWX_TO_PROT(__epte) (((__epte) & VMX_EPT_RWX_MASK) << 3) +#define EPT_VIOLATION_USER_EXEC_TO_PROT(__epte) (((__epte) & VMX_EPT_USER_EXECUTABLE_MASK) >> 4) static_assert(EPT_VIOLATION_READ_TO_PROT(VMX_EPT_READABLE_MASK) == (EPT_VIOLATION_PROT_READ)); @@ -604,8 +605,8 @@ static_assert(EPT_VIOLATION_WRITE_TO_PROT(VMX_EPT_WRITABLE_MASK) == (EPT_VIOLATION_PROT_WRITE)); static_assert(EPT_VIOLATION_EXEC_TO_PROT(VMX_EPT_EXECUTABLE_MASK) == (EPT_VIOLATION_PROT_EXEC)); -static_assert(EPT_VIOLATION_RWX_TO_PROT(VMX_EPT_RWX_MASK) == - (EPT_VIOLATION_PROT_READ | EPT_VIOLATION_PROT_WRITE | EPT_VIOLATION_PROT_EXEC)); +static_assert(EPT_VIOLATION_USER_EXEC_TO_PROT(VMX_EPT_USER_EXECUTABLE_MASK) == + (EPT_VIOLATION_PROT_USER_EXEC)); /* * Exit Qualifications for NOTIFY VM EXIT diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h index 9bc3fc4a238b..a3a5cacda614 100644 --- a/arch/x86/kvm/mmu/paging_tmpl.h +++ b/arch/x86/kvm/mmu/paging_tmpl.h @@ -181,8 +181,9 @@ static inline unsigned FNAME(gpte_access)(u64 gpte) unsigned access; #if PTTYPE == PTTYPE_EPT access = ((gpte & VMX_EPT_WRITABLE_MASK) ? ACC_WRITE_MASK : 0) | - ((gpte & VMX_EPT_EXECUTABLE_MASK) ? ACC_EXEC_MASK : 0) | - ((gpte & VMX_EPT_READABLE_MASK) ? ACC_USER_MASK : 0); + ((gpte & VMX_EPT_EXECUTABLE_MASK) ? ACC_EXEC_MASK : 0) | + ((gpte & VMX_EPT_USER_EXECUTABLE_MASK) ? ACC_USER_EXEC_MASK : 0) | + ((gpte & VMX_EPT_READABLE_MASK) ? ACC_USER_MASK : 0); #else BUILD_BUG_ON(ACC_EXEC_MASK != PT_PRESENT_MASK); BUILD_BUG_ON(ACC_EXEC_MASK != 1); @@ -510,7 +511,15 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker, * Note, pte_access holds the raw RWX bits from the EPTE, not * ACC_*_MASK flags! */ - walker->fault.exit_qualification |= EPT_VIOLATION_RWX_TO_PROT(pte_access); + walker->fault.exit_qualification |= + EPT_VIOLATION_READ_TO_PROT(pte_access); + walker->fault.exit_qualification |= + EPT_VIOLATION_WRITE_TO_PROT(pte_access); + walker->fault.exit_qualification |= + EPT_VIOLATION_EXEC_TO_PROT(pte_access); + if (vcpu->arch.pt_guest_exec_control) + walker->fault.exit_qualification |= + EPT_VIOLATION_USER_EXEC_TO_PROT(pte_access); } #endif walker->fault.address = addr; diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 116910159a3f..0aadfa924045 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -5809,7 +5809,7 @@ static int handle_task_switch(struct kvm_vcpu *vcpu) static int handle_ept_violation(struct kvm_vcpu *vcpu) { - unsigned long exit_qualification; + unsigned long exit_qualification, rwx_mask; gpa_t gpa; u64 error_code; @@ -5839,7 +5839,10 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu) error_code |= (exit_qualification & EPT_VIOLATION_ACC_INSTR) ? PFERR_FETCH_MASK : 0; /* ept page table entry is present? */ - error_code |= (exit_qualification & EPT_VIOLATION_PROT_MASK) + rwx_mask = EPT_VIOLATION_PROT_MASK; + if (vcpu->arch.pt_guest_exec_control) + rwx_mask |= EPT_VIOLATION_PROT_USER_EXEC; + error_code |= (exit_qualification & rwx_mask) ? PFERR_PRESENT_MASK : 0; if (error_code & EPT_VIOLATION_GVA_IS_VALID) From patchwork Thu Mar 13 20:36:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015887 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36D021FC7E3; Thu, 13 Mar 2025 20:10:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896651; cv=fail; b=DTqqdx2Pk2ZpOS16yg5gQopRafD+9ZucEBTU4h7DNbPIHUjP1bm26ipfydt/dPoEc+9NCyY6iaq5shDvL8NN30XDeNg4WqJqeAnQIsQw8dyA3uJQGimYGDnEln5mLxTDy2FJQJKi2zlJSPC++XUoXuO+JAMQJmzZdvAXGQkTPfQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896651; c=relaxed/simple; bh=RzTRW//xaqZiADtxuFGyP0llT7yWXLLas08daaVMdgE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=AHeFmK/GpOyVMmNx5NZRriX+iVoOG6vHOnrH0cElZNzEuo7/EXBUX1pZGFqP7BaohuwqZxEWeRpW6ChOsa0T5+2+e4uBuZeNN8mOVDlMrw9tLHg4AgHs48+v7RJPv4GcDJJ7MSXdQHxxgvDAFbQeaPTVjR+cMmfuvtJzYKcMrlc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=ekv+SRGJ; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=pqQRgUwe; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="ekv+SRGJ"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="pqQRgUwe" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DEsNcd016578; Thu, 13 Mar 2025 13:10:33 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=I86e5Uucm/Q6TM2A1Ol2oS/LkxrtOS9Y5NR+b5s9P A0=; b=ekv+SRGJ3GX8YWlvjMSy8v+aKBqgXn4WWQJWwqGi1blHGpV8W7M+vmTES TY+Hpw9HmUkMZyBgCv0rqvHuSnVK//rr9BSQqHnU18V9wjZ+runYJlLeZ2D34UuT BDv2vCGxHUkeV/HQiKJqZHIuKl3WLmCPaD1uBnjtTyr7Uui1IyxMP8OQEdP5TV9S Tyo1NpLbIzUdbFqfMzLlnOmIdRPaEM06p0dE5vBQQKJN6/xvp2sMFWjNmyy+wmpT CDbUFYpH7yTwfCNvqvdZZExzy7Iqi6vdzoSCdqamq8E8+AJwRzgUdM5ogPj8fZNb SgOEJyvtFn8irdNa38xanNmnRNIdQ== Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6u1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F3oTU71K0bWtvRRUmLgQpdbRkegYAF/aG8v/DpqNKYWkCmIYPi6m3Mkj5omxlUI8aqNtQutSs/kTUBiJ9huJ98vmvP0ZUvTyVf4MnQYSxkx4t8lnRP9T4MnXLnSI2r6RDls9i3p+IHbtEQGnpcsJhwqU0Rfyx2W0Doilf71sJhdNtHF/22Ald9WVZn4A55+Vo+6oG9qLBaESzAeHLgbzrQrccgTXD54JQ6OKkqXNW6hNMv+MK7QlRX0ntAdYKrqBzverLZmYz64w1xcgP8GuRuaLVDgs7MIUZb+cV7dr6LoJF7oqpNzSN4HyikfF4erWxDHmJjLeNsHeylS+GiAQrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=I86e5Uucm/Q6TM2A1Ol2oS/LkxrtOS9Y5NR+b5s9PA0=; b=BkMxh297eLLvjslqLDZWcX5wymCjh1aTnF/7iglmBllKyyffN4ZPocEehoAhN8nCxhnY41grhCzd9aDaWww1nG/Rkdcp1OnWtoJnsgBePcSeOtuceacrkXZXZgD76NddNTjXs8PIKXn8yvj+Uw3etcLUwVorI1sSNvxqeOsIPRhCLKeoUepWPsmICxjBVo6pS7bzj/VCTR8tJGq0XqeDcHCS1xScM3dAcqQlLxVl5+2rsX+1xg9Fqnz3EdpKc1D+4YCbqUr2jL7lOJf18gRzeqiFlZ2s68dLf4Lp1aBEmjjkBloaBTi9CF190DjI+YAo+MnEnVDpsfyFEr0Eb5nHSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I86e5Uucm/Q6TM2A1Ol2oS/LkxrtOS9Y5NR+b5s9PA0=; b=pqQRgUwege7Fe3NuudYkKfQi1qgcKHkBMYyiP018CekxgEer17djdKK8Kg7hdg533jWv8FU76uPYe4GvpHFVsn0D+I2JsnGxVRZj0yOdYJtZgFIYCpRBtqRqo/UjstsJVSpgbUWsAwnevN+vskrkXJC90HDvqD6lvimdp7oZxs8a5wkBi+KPXGWLpkMe0xPgtVJQUNjC6OZg1hvPFHc2BIhSl9BPhqxZ3/ZWK/xziOBdvVeViIa+L3r8Aqcm8eYGlHrkL1Jozg5I6nVTMzWO2uIMnqbYB4TtnD1LqLcO150JMYwNDxnK9hLC13fXt/GWjz7hlQfzRfAiyXb3zMP63g== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:31 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:30 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler , Sergey Dyasli Subject: [RFC PATCH 12/18] KVM: x86/mmu: Introduce shadow_ux_mask Date: Thu, 13 Mar 2025 13:36:51 -0700 Message-ID: <20250313203702.575156-13-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 3212e01a-3f70-4f26-4433-08dd626b1ad3 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: /5lQBZ9MQLX3BBiim4TjGpg7vfPnxA31su61AORJqJ1DOcwnZfNjQXhoXLni5Cq8dYo09KrujHBS4dBbktYVuPLloxAtpz0APJ/srwuShH/skrHQuxIBoBCBrWdrAKL4PDKETqxOqzVtmCWskTR3BazmhnK7BQ2qKe0WuEhmoq3qthGBJA90dMcyuv6kHz4+nvqd9okHe2jPWFuc7kcmyNuv4K5E7aaCRoop4wgnUnGEpCz86CzFXG64B76c+w/PEvNYIZI3CqVpjbYNDYJH+6WLcY3hGIQEEMPbRzsvVI5MgQKx3EkhT1He3TQ/eIAWbyiSWv8ZVmIMQvUkvbyMYEyvZ9xAMvbjVD4zWcx2/H65BTMHA8MPemALyOhA+9Tgb5YjIgWjnZDwe5vmxXz4POjQXPyBfHiQM9ZY/ZEs2KAZYk0IJdSDdRyyrvlX5ci2/HWA4cb235zVgp+XDtSk+e03Qkz9DAY7IFm1222SFYlMvWkPWK/6ApVnm8To3Bt8fhvcmI712DlMZOL3bR/nn9+7WSOp0x5bOayK7BO4L0mr4jcbdN2h0jh6V+qhdQJo2vYbTjM3x6uDcqEujQRjuTwD1MdwpFr8xftNcPk029P4OT09mHvPJMb2YPHutrE/dSVaCKuxRnYMhMgkHfk3mkaJX/FY57rA7pMvAY9VNtgqOTN1KpGUlAEMDCX6zsyOanHz6SZamKhV6iiilrLXG3f9Oi7Rzuss7ToWnGIfY1JADsUuTGd5zRHXuQ+xlHlFadmfwl6cbD+PzujpYQGnzJoVvibKTDQLnaGIwfhjDpP4VTCCEU0c2WARrBEwKNo80SSJ3NJ/zdY7Ryv81Z4zqpvmFFH9qX2KcFk6F35lev3NN8/3CH11GFTh3MPQCVT83i61TuKld2HXiQOKuR56PDwsph5aOQbtTA33Z6LxX/6bBoddfd69sXzqhJzxuXnEf4SttijFLXJca5cxODp9PEedjJKQwzOCfNyuPUDmviehf7vydxW2r1Dtt48YFQ3cPOE9B0+PoacD1aEornlHEUw5VaDQGPgbZ6CMb2ye9F8o60nVozMdrj2XEo6k37c4rmwOfz1VHCcHJENl8uEvcsIDRv2EtRnmDLsfZgCXDQL0xFp90sN6INMkQF6yHWxUpMQTOgTZjtl+1M2UinM6ua1CQJzaBQ2C8yv4Gicw7M9D0TC2pP9rP6DqpwIzZ9VWgq17pYVtenT6yQQ94SUmk8AZZvZWIu74die2DGfZw1NJ+N8jfXUlPUY1XDnWPlTPNJ5kL3U+BogzSPxTRhWzOoPztu3WA/hZbgjR2MlLeO2/Rq4dy0+PJQyfCt/TKReth4utOoKUiMXrI/TeWnvE1+ZUTlUEj+fua/m/ebWha9FmKvcaAJEyqK98cjd86DejhgPg4aNNnkaHKGP1QJUoeB5ki5YjPRHLHYeSO6f3tamm6ohmEfGuh1tCxpm4j6On X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I7gBXapdAWap65Hqxe1gR8917s2BuRWGKLEOxb6gQ24jGP8AT+PN4tiZC8mpO8nGRRYwG4eNFER2HOajn6BDNKsNh/X4sleemfTqlA+VTRJuatN7yA637oHiF1hAZhmjUNxfXgYth39zHdBIJig2ONclppoTWM3u4DyhkJIrpn9+2o9Jkxa3pqteJMTqnE1hI0BJToKcoNSdFO9ydUuxrT3I3reF5DcucvQ5Ku+YTvrWhZayCfHojYIZ6J0wL/wYmObQBqs+g/Qbx5AvBu2ZAJjn+0nYT+jPuzOb4jZB1ryTKeVM9rC7iUiQFSr/8JWJaX92aOFaRb+5TD3RNYEkbYyWLtrfSe1GTK6VugDigKNwtP8hJ240jQYix5Tj03JIznDlCQ4UnwBQg86/nA43Mg8KL4nEzba1Ao+j+hBGndxl42sIDMOTz0OsLevm9o0lPKJmGKMpgQkT6W1zMZWvxKs2/bQ2issNb+O/ewfMduxKtHqNgX6Pi7p4zdNS0ip0gAJMS9Di3EAvM7PkBtuncTklIxXvCtYxQWjUqK6n3C3WbGkJj5+gqDn0YWNE98yTz95UWWnvZubBu7JHfpmjvRGE78KAka3iwsRguV5gqjUE2Suk2YR7OKkQ/meK8uiEXnEPrz3aZE8A0lK2jdjsiqlzGB0Kjg5QLBHa6XNESqTLUGtf39G2D8ZvqdnrXGSGfx/ILAjVqVOd42Ul34EARdJUbJvro9s+6oKq9t73tYWcgQ8e8nVyKQfPW4j83n3pRtkY0kLTkZozDwr5/uetNMOhZH2mlJHmx729BPpkkykaGGL8SU7KlJTzJhKkBxMI1GrLUpoHfRceVjHAGuDujtJtixlQSlnttSfWBO0JpYPf0T+WXGb5KutV7y0syhL2a/vpbmUrMHp5VY/xrCzpunDKw+j0cPyNh4giYyU1w3zPRmFoS+kVHON0+AVFVqhkm0kdrmBSSKcWshcMENvjSQL3liXUdS/biAdlc0iqVUS6sG541pa4aAjJftg7bwITRrFuWsFw58L3Iz5N9RdCC4GYZLUqiZypnFc9sJMTpojmkij88x7JFXeoNY19snuztbHeWKiyPwaypOZXTjSEXqwUPYabBc2iIAMhqswKqH2TuSW3SCLiJKsAf0lU0ucXBnAZ/lYuVz9mC3NsLcNiun25plTH1ChmYmi03E6uMf2LSQcGn4Ff4K6BMFLM2w3YRish2C0QfSJrf8JFxTLluo1xnTeLkERukd97rebuZl0eiiAzHzK3wqSRHExS8fksLz0M1sOSyXWuBKUepMzzleVJaYjFGXhajjdFX+f6OpX0QN0JPmO2V2rysfYv0xWNyMgITHKBGLVeJ0ckHFxdle7v8EUPm8+SYv8nCmCnxLG/kF5ZdLcZahsjw/iZet1DhxZgQfCXuaEEaRN3WxsxIYaLEBrImEH01GeObYSjUpRPURd2b8JVHVENiG/W0lHKisiLLsa+xyPIpsMXA7rjUt/q3waB5HVM8GF9rg/BVPXGQ9xzPsssGz1gx5wZM1+tguPdKGrAiC7Y2zKXdNrfoTWfOEM/7/GzYYQLpeCOX1CKZhh6I/gD1+iqCS2gmhs0C+n/m03PFCtounT4ojXYkg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3212e01a-3f70-4f26-4433-08dd626b1ad3 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:30.9138 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zFqRBmTDpiM53SB1b6q3o9x/DB+OWEQkP07epGIYeHfzCtaKMM+FUYAdbnfkapVjW9Y4iYKH8ut7G8wSy0bEQ70L9lzEvfSV6L5fnqeeQHk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33bb8 cx=c_pps a=pa2+2WWV+ihErLhOOf7pAQ==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=pMcot3f0SDDGOCOdwIYA:9 X-Proofpoint-GUID: -0yDM6cav7DqkdzswiCZiJTrYLyQawlh X-Proofpoint-ORIG-GUID: -0yDM6cav7DqkdzswiCZiJTrYLyQawlh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Add shadow_ux_mask to spte, to keep track of user executable pages used by Intel MBEC. Since masks are setup outside of vcpu creation, plumb in general system level enablement from vmx code into kvm_mmu_set_ept_masks(). Signed-off-by: Jon Kohler Co-developed-by: Sergey Dyasli Signed-off-by: Sergey Dyasli --- arch/x86/kvm/mmu.h | 3 ++- arch/x86/kvm/mmu/spte.c | 21 ++++++++++++++++++--- arch/x86/kvm/mmu/spte.h | 1 + arch/x86/kvm/vmx/vmx.c | 3 ++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h index 9dc5dd43ae7f..d10c37db7653 100644 --- a/arch/x86/kvm/mmu.h +++ b/arch/x86/kvm/mmu.h @@ -79,7 +79,8 @@ u8 kvm_mmu_get_max_tdp_level(void); void kvm_mmu_set_mmio_spte_mask(u64 mmio_value, u64 mmio_mask, u64 access_mask); void kvm_mmu_set_me_spte_mask(u64 me_value, u64 me_mask); -void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only); +void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only, + bool has_guest_exec_ctrl); void kvm_init_mmu(struct kvm_vcpu *vcpu); void kvm_init_shadow_npt_mmu(struct kvm_vcpu *vcpu, unsigned long cr0, diff --git a/arch/x86/kvm/mmu/spte.c b/arch/x86/kvm/mmu/spte.c index 8f7eb3ad88fc..6f4994b3e6d0 100644 --- a/arch/x86/kvm/mmu/spte.c +++ b/arch/x86/kvm/mmu/spte.c @@ -28,6 +28,7 @@ u64 __read_mostly shadow_host_writable_mask; u64 __read_mostly shadow_mmu_writable_mask; u64 __read_mostly shadow_nx_mask; u64 __read_mostly shadow_x_mask; /* mutual exclusive with nx_mask */ +u64 __read_mostly shadow_ux_mask; u64 __read_mostly shadow_user_mask; u64 __read_mostly shadow_accessed_mask; u64 __read_mostly shadow_dirty_mask; @@ -313,8 +314,14 @@ u64 make_huge_page_split_spte(struct kvm *kvm, u64 huge_spte, * the page executable as the NX hugepage mitigation no longer * applies. */ - if ((role.access & ACC_EXEC_MASK) && is_nx_huge_page_enabled(kvm)) + if ((role.access & ACC_EXEC_MASK) && is_nx_huge_page_enabled(kvm)) { child_spte = make_spte_executable(child_spte); + // TODO: For LKML: switch to vcpu->arch.pt_guest_exec_control? up + // for suggestions on how best to toggle this. + if (enable_pt_guest_exec_control && + role.access & ACC_USER_EXEC_MASK) + child_spte |= shadow_ux_mask; + } } return child_spte; @@ -326,7 +333,7 @@ u64 make_nonleaf_spte(u64 *child_pt, bool ad_disabled) u64 spte = SPTE_MMU_PRESENT_MASK; spte |= __pa(child_pt) | shadow_present_mask | PT_WRITABLE_MASK | - shadow_user_mask | shadow_x_mask | shadow_me_value; + shadow_user_mask | shadow_x_mask | shadow_ux_mask | shadow_me_value; if (ad_disabled) spte |= SPTE_TDP_AD_DISABLED; @@ -420,7 +427,8 @@ void kvm_mmu_set_me_spte_mask(u64 me_value, u64 me_mask) } EXPORT_SYMBOL_GPL(kvm_mmu_set_me_spte_mask); -void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only) +void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only, + bool has_guest_exec_ctrl) { shadow_user_mask = VMX_EPT_READABLE_MASK; shadow_accessed_mask = has_ad_bits ? VMX_EPT_ACCESS_BIT : 0ull; @@ -428,8 +436,14 @@ void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only) shadow_nx_mask = 0ull; shadow_x_mask = VMX_EPT_EXECUTABLE_MASK; /* VMX_EPT_SUPPRESS_VE_BIT is needed for W or X violation. */ + // For LKML Review: + // Do we need to modify shadow_present_mask in the MBEC case? shadow_present_mask = (has_exec_only ? 0ull : VMX_EPT_READABLE_MASK) | VMX_EPT_SUPPRESS_VE_BIT; + + shadow_ux_mask = + has_guest_exec_ctrl ? VMX_EPT_USER_EXECUTABLE_MASK : 0ull; + /* * EPT overrides the host MTRRs, and so KVM must program the desired * memtype directly into the SPTEs. Note, this mask is just the mask @@ -484,6 +498,7 @@ void kvm_mmu_reset_all_pte_masks(void) shadow_dirty_mask = PT_DIRTY_MASK; shadow_nx_mask = PT64_NX_MASK; shadow_x_mask = 0; + shadow_ux_mask = 0; shadow_present_mask = PT_PRESENT_MASK; /* diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h index d9e22133b6d0..dc2f0dc9c46e 100644 --- a/arch/x86/kvm/mmu/spte.h +++ b/arch/x86/kvm/mmu/spte.h @@ -171,6 +171,7 @@ extern u64 __read_mostly shadow_mmu_writable_mask; extern u64 __read_mostly shadow_nx_mask; extern u64 __read_mostly shadow_x_mask; /* mutual exclusive with nx_mask */ extern u64 __read_mostly shadow_user_mask; +extern u64 __read_mostly shadow_ux_mask; extern u64 __read_mostly shadow_accessed_mask; extern u64 __read_mostly shadow_dirty_mask; extern u64 __read_mostly shadow_mmio_value; diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index 0aadfa924045..d16e3f170258 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -8544,7 +8544,8 @@ __init int vmx_hardware_setup(void) if (enable_ept) kvm_mmu_set_ept_masks(enable_ept_ad_bits, - cpu_has_vmx_ept_execute_only()); + cpu_has_vmx_ept_execute_only(), + enable_pt_guest_exec_control); /* * Setup shadow_me_value/shadow_me_mask to include MKTME KeyID From patchwork Thu Mar 13 20:36:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015888 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE8691FCCE2; Thu, 13 Mar 2025 20:10:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896653; cv=fail; b=IEN0kXSGt9IwfHO6Mvm7vIBKGk5PfewESvQiiRAfNvYB3bhTmQc1Mt7/NceCDADnGHOD91tiaUYEa0cM2qdBPMBSbyz1QnF3Jl9FNj3W1cznEdEutLl91mc3Nq78R4CEG0TJeOFOKGEpyXT4hbbzrVzXfD8rNUTqhSDDFYvjWWg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896653; c=relaxed/simple; bh=cYaEIHGcBEWpdxnS81jAGRPB/SOFmRVNJL33W9malkU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=UAV8UhKGH/B1kw/5uXmCAbZuOmURIoLypH2O36RQne9UB35EX2vk2atEsnygITGIFjdwFzg8UjLsHeXIAmTaHJVFVxKkzQivcLypkdqi+YFIr3dlCayM9+w2nWl9pq03Kwl3fTzRh8mBJRkpR6n9ZnvhD76tvf1IfLhDVEEF+ng= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=H5fJqBMU; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=Y5DOks34; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="H5fJqBMU"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="Y5DOks34" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DF7uSx011175; Thu, 13 Mar 2025 13:10:35 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=PrAVqs36O6dyyCUvUmLOZKFg9f+e0nHxePbA47obL 4c=; b=H5fJqBMU+DlAFw5LquCIS9k6OXDeIkvTQ+eAjb8JEoF8nOp15b5dn0iyg NtSHHZuZqWTCOJQg2s6AoGvycYF0adaMg2X6oEEvd7TVCkVV+hTsjWbNJ2XAm3N8 cJKbrUqzEUb7xyHYYfNEVpUl133dkLYtSSVMF/Ht2jKusBewkQTiXHHh6otB0zQR 6avHTqvlkyUOV4hWCHgPcxtK86GGzRtFlucWtk4H38Ui29eM4BDEvPH0usVCq9zL XbZSEezRTUHxpauwpKPp6u8svq+a0Tjeh3E0GLRYqfu9xGbqEykgGLCfhPoFDp3G H4KC0y+7yCdI1ma6oo78QEwbpWT9A== Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2176.outbound.protection.outlook.com [104.47.59.176]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge77b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bSbEZdJjdOU91UCPxHB87oYCErSrMYdx8Oi6zdZUxV6mr2VudG6GS1Z+P5L49oTCp44X91vM7qEd+bIo/WUHejFbEY1YKU1CaN8Jg4EoEhVdzcMOcgpNhws/Ss39Yv4ZA9aOGeDBN8Lx6SOIVCTb23A7n7I5GLEWWHfR8PkcqqFpmWavYRpZR5K5DQcOJBzeltWx5XSY5VYJccT5QcPd7nLfixQnICoYLlu7zZjpfGHUzPZB200fJBHwv9mAGFHpfMmHLd4l8YJHnbIsIk7Tvr9o5sdeWxUt1rTzvu0BKRmL2yAbzUPIujTVETFcAx/kkp+vVFK/3nCgY2L42nFzhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PrAVqs36O6dyyCUvUmLOZKFg9f+e0nHxePbA47obL4c=; b=DsegKk46AtXkFVmkarw0xiIRODCmqU5xOHVugi/+5mrbffHVC7KSnfIKr7E7lbrPBVSjgjDvnD1yJ21X+zgMEoew1WEOwP2L4548X4vGFe7jZY2Y246RkJDN38PdxL3Xiom04Wh8sW170ax16DcXCkFLTeziZuoB0RmdiJRDyu18BXAGD8NadixpEBIojXPLYNs/eiK0aKiJ+an3M7EGpxY9kI1drKAGuAX5Epl3yGNpSQsnqUpqV7gKOBCd7kGDEKVlJGo4AuMv/yH51HGO2tLlpdeDHwjeUxuIzzl7BBLW1eHs1cN3bm7My9BvOAsc8KlSI+PO3/J6lWwBIRCqZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PrAVqs36O6dyyCUvUmLOZKFg9f+e0nHxePbA47obL4c=; b=Y5DOks34BMQ/FxK+tnzdD/s38zO7evf42ULjiYPplEKbLN3yo+6Hl5sxqFlkbk7Q6lBvDfqIw5uoTcRslbmC0rS0Pg/BuIdDzs4G0rXvXK/MxmjXaFVE+076a20+IhJq8s4sOF3i1esJPDRUMAFZbpBKv466GYZHuHmeTMrXUKsMQdjU2+1tBhhZMD2YaORC30psb2X42/vMkrDKnfqN/5VUul0L1rJ/8C6HOpmzTCZLt5+mVMdmqjTKt9ptOM5uE5LFt0suuNZvN/JnXT73sAFNnNVIAgEtyrKG80DL+Z0EUPOwZJitVneO9ibHyyFI8o5gbQpXh3wYoKd4ZqtGoA== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:33 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:33 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 13/18] KVM: x86/mmu: Adjust SPTE_MMIO_ALLOWED_MASK to understand MBEC Date: Thu, 13 Mar 2025 13:36:52 -0700 Message-ID: <20250313203702.575156-14-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: c5dbff10-a3a3-4449-bf07-08dd626b1c62 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?i8bHqpSGsI1Z4O5OK1UqcYgbJE7GIRT?= =?utf-8?q?uCeRP7sju0t0XxEaIFR+rvFSPX8ZzISi/yS6JIwK8+g/b4iyWeARpwbWVsjvL7hZY?= =?utf-8?q?fgmMLSD/H75jYXCpUdY3HS83xFzLRzU+04odncPiAPdnqpKesLpNQQVM7djCbhOUZ?= =?utf-8?q?GCC4oT8OmXaSK/OEjdCeYWeOJPiP7yZUOG2W6OBeUuc0+pdDU08059auVjDiZrIBA?= =?utf-8?q?+TaACSZq0KmqXjBBYhiEk0ewXqY1CZjKUAEZTydLeOBN0PJQVkgm8RIcMG37oZcdn?= =?utf-8?q?q0okXC5GrybinGbXcbdoXODkBx9VAPCt8aF1kH/LDnUZKQk8qWKjY3UgZXkEJ3BEV?= =?utf-8?q?XhkgxlixHBytd4SHs+reIBTJWNfrRfuNl4iUSkUuYZWdCr4CedLs4zfWK/pWZT1XB?= =?utf-8?q?2QnGploGxR+H9Dnv5XzyWKGvE79AjZwNho+2I1CUnxWzF5siCcSAnk7TUbOLx8AMV?= =?utf-8?q?io9SYUeuonvpYO3bvhoaCDG+f9jffFN7f+5v4QyZf447/w1+o84U0haCPsC/0Uw6b?= =?utf-8?q?cQX31tq/S2JWw6ZRvIud2aVJ9XvJze7wO3XL4V58/KshfnV8zoSoX4P/wBcZP3YRX?= =?utf-8?q?XXcpogHudHcUL4VrhpckvS0T2F9vebfEOWwFwwlzJA6B3uOaPY4KVLIDpDpoTgSha?= =?utf-8?q?y/jaa8FiyHxdZXY68c8laXHUh7Z8yRzuN5VqLE7VESPZY0SODEcxtE/FDu9dC2GqW?= =?utf-8?q?Ox8SKXeC/BS5pg3wr0F9F1rX27q7JpST8cFA7GqMlVpLGoJZxWmjUVzOI8sZlcoZe?= =?utf-8?q?+9deOAa9cyf3HYnQu8wBY85rLfxuR7sl4y6+wdeLJ+GWewqPIRBVqopwNmrtcJntp?= =?utf-8?q?crC9UrjJErZOE5+6/AMZRJE3ibRboNNtKwyxUSxiq15UKeXAYowfYheVlGITaWyjF?= =?utf-8?q?9XocIsYZWUdA5kH0q0+6XEFt6C/9ZKRwLVQ7iOtbaqLqfHjZZzljYIWPS7SO2O6uo?= =?utf-8?q?glGhzYA7vp+0+MZNAxJ5N1f21kn5BnzLzpCLjpRAuvtFz4+cIPP/ZqAAA6Z8c/1tX?= =?utf-8?q?0nzw1QxpWI0P+/mIlE7HjxlMWt5Un59lmmjMg1O2pdbXT2pQprzRDyPNL2KeiCZd5?= =?utf-8?q?mvcKRD1oDhjLBcLVour9DR1Ra37JiUwa702ZbN6gmzkDoS9WoWUq0PYj1qUi9pq4O?= =?utf-8?q?ASOZsTXSGE/FDjeGU+cXg1kq35t7lg8paoRuB0NXF7doAN+ah3ignUC6Mt/XGxaIH?= =?utf-8?q?mi13j/9XIuuwtL2vzG97k/J23z6N48DV6y/6CcL6ad5pMq24Z+JXDmohH5soaogTK?= =?utf-8?q?p4YebafKGPPRA5hqFRKfrKCOhaBz+g6kI1lAnANi3LXr6tm2wCgKSXazPaRqDqqjg?= =?utf-8?q?Qe4fJSDIzrHww4T0lRjwZgzuDYWiJ39mpzrpI6p5f0yD9Dyc37N9d1pRCkdXDBSXo?= =?utf-8?q?hsu2nJdgVGg?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?TPpxtOPU9cZMfSP/64phzR3+3l8w?= =?utf-8?q?YWszGC3wE8LSvjqpV3WBAxdbybpPXnc9gwQLetCfGujAzsnrgP7ByFJ0nDQAMvMzy?= =?utf-8?q?UpSwB2LhzGn3TDsLU7r7Es6Qnt3gr/BXwxUErZ18odgOnrqyTpCUOUYh0eGq4Qm7y?= =?utf-8?q?S8R2sNBAAbSv1Lm7Ed6JgM3bRKBBKEEPGf0QplEvMugg4ed5QFAbfZMFm/xR7uulp?= =?utf-8?q?FyFDbxmXgoK+cywEYYBYLtCTweUCqY5p/Bo7VE8Yx0ULdbpOe8ypMoDRpjl7llF1n?= =?utf-8?q?uCWxOVuvQY3dykFQ1tmqul4Ve4XbUt92Lx7dgvcVv6XSAhGZYAWs2lPLCqjYaSZia?= =?utf-8?q?wvueJ7SljRpR50vYNhP9d7z2xrVhIrO9qfsm91BSJUmSDFDGuKoRfiYK4Z7/I+zop?= =?utf-8?q?Hn6CE9WJ7+xNRipqlsJo8d+JF8nDsx4LPA7Vfva9eLGjSw9yYC3wHYAVnKmjEC3tC?= =?utf-8?q?hohp2SgF+1sQ7G0wRRnNQCwtp6UpWteAq5FuUVROO4wtxoshw+JYf3fV0cpbvjCJH?= =?utf-8?q?Zgvw2jvWxx1LqQrWUNzIAg+RGH+7zSn759tx9WeMMmpVpMKsJ3bgqZ2bcOLLWWSRX?= =?utf-8?q?Tx8DTkplobKtfyzkSXvOrRXfRnAlq9E2zQTc8NiwFm+6M2LDUyD2pK9kRGCTJQweD?= =?utf-8?q?IVrNDcvT4iaRloQ8+Ulw/BgtTiVp0MqJPKURE2gfhihJCDRLN+25maNwQxckWQkzc?= =?utf-8?q?Mj3Pe+ewPGndFH7m5YJwzpjCUAqz0E8uaPP6j4ZrvJha5RFnWd3fIMjnI3vP2KgNj?= =?utf-8?q?YY58Cd0INIfUlwti0JlGOmF+wkmn2j43C9xKioh6oySfaaz/M1amO7RwYHINFs2/p?= =?utf-8?q?OaBxgFEn9X1Mp61kS9hMz+zWCcXKdMIVo76ZdVPqBk0JW8MviUzsJVJtVdR9RAJgx?= =?utf-8?q?f5UOef2+H80HNrpsZ//pgMmiy6mgsVcY0jIJDL3AJ+dsImxWa4amQrh7iK+zUoRB6?= =?utf-8?q?zp1bm8A1YT22Vs290nIeGPHfhHe1Vi6KKKbQpLGWX9MXIrn/DqJXNUetSvB0DbP/5?= =?utf-8?q?whigyueLViSvAsOCRn885Rk1pKGz5siKnD1YXpDX1H43TtbAsmadZN1RJbZjnnyxx?= =?utf-8?q?f4sYfHqlWwXYzgr6XX1dE2jzYxdTSb6Zn8K9BN5tG0aDDtYZoSV96EXnETqp0NUoN?= =?utf-8?q?4auevfSoLu9Q2OihyXl9ryZwHg7M4x42Zwc7yCNd3nl+pdUM1rBYW0G4q8al26kJ4?= =?utf-8?q?MR4YrYu3iz3DhBW5mezjeFVG04InGx2iqqXE804/xlPCs8uaN8ICoFXGUumg8fUYQ?= =?utf-8?q?vryPA/SBGbSo6ldLv3cssxXBxDgCLPFRwxii1ru1DyYb837KdMEXLlavnmMONAdpN?= =?utf-8?q?ir1bGfHxJMeziyQLTw+EbE9M3lf8sfaXY2YSJaGMKCRmoqwvWYEYLSz00a6jIFHqd?= =?utf-8?q?4geDv8jwrsXZ6L9ffcaKGxfPvm5GEpfxWJL6H/ShVOJqQ5zDaTLbQ64k4oEJuLKVv?= =?utf-8?q?COMETYbpFI/1EKCZJ/jPBdPdDdAxzgPm8m7jXea1/GrfA35RXtzIWuNLDSQ+qXYan?= =?utf-8?q?bC/xdGUQnUifuxjAyJNLKHgrkZhtVDMkXA=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5dbff10-a3a3-4449-bf07-08dd626b1c62 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:33.5075 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vrZNUWCPhbFkitC3ZPFGi9F3HLriBrGsXfxxTERrVuu4e7WLSZM2vMMyWHiH0JqU4KqcOgvzyM+dPvvxGQVJkOEfvpGmEsASAPnn2kEKJlU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: zNsu_94UoCkRBKeJ6mGG-_pnoTdmZuL6 X-Proofpoint-ORIG-GUID: zNsu_94UoCkRBKeJ6mGG-_pnoTdmZuL6 X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33bbb cx=c_pps a=nskeBUqQUen4dZUz4TdP1w==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=nzs-3BIrxdw4r6tGY40A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Adjust the SPTE_MMIO_ALLOWED_MASK and associated values to make these masks aware of PTE Bit 10, to be used by Intel MBEC. Intel SDM 30.3.3.1 EPT Misconfigurations states: An EPT misconfiguration occurs if translation of a guest-physical address encounters an EPT paging-structure entry that meets any of the following conditions: - Bit 0 of the entry is clear (indicating that data reads are not allowed) and any of the following hold: — Bit 1 is set (indicating that data writes are allowed). — The processor does not support execute-only translations and either of the following hold: - Bit 2 is set (indicating that instruction fetches are allowed) Note: If the “mode-based execute control for EPT” VM-execution control is 1, setting bit 2 indicates that instruction fetches are allowed from supervisor-mode linear addresses. - The “mode-based execute control for EPT” VM-execution control is 1 and bit 10 is set (indicating that instruction fetches are allowed from user-mode linear addresses). For LKML Review: SDM 30.3.3.1 also states that "Software should read the VMX capability MSR IA32_VMX_EPT_VPID_CAP to determine whether execute-only translations are supported (see Appendix A.10)." A.10 indicates that this is specified by bit 0; if bit 0 is 1, then the processor supports execute-only transactions by EPT. Searching around a bit, it looks like this bit is checked by vmx/capabilities.h:cpu_has_vmx_ept_execute_only(), which is used only in kvm/vmx/vmx.c:vmx_hardware_setup(), passed as the has_exec_only argument to kvm_mmu_set_ept_masks(), which uses it to set shadow_present_mask. I'm not sure if this actually matters for this change(?), but thought it was at least worth surfacing for others to consider. Signed-off-by: Jon Kohler --- arch/x86/include/asm/vmx.h | 6 ++++-- arch/x86/kvm/mmu/spte.h | 13 +++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index 84c5be416f5c..961d37e108b5 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h @@ -541,7 +541,8 @@ enum vmcs_field { #define VMX_EPT_SUPPRESS_VE_BIT (1ull << 63) #define VMX_EPT_RWX_MASK (VMX_EPT_READABLE_MASK | \ VMX_EPT_WRITABLE_MASK | \ - VMX_EPT_EXECUTABLE_MASK) + VMX_EPT_EXECUTABLE_MASK | \ + VMX_EPT_USER_EXECUTABLE_MASK) #define VMX_EPT_MT_MASK (7ull << VMX_EPT_MT_EPTE_SHIFT) static inline u8 vmx_eptp_page_walk_level(u64 eptp) @@ -558,7 +559,8 @@ static inline u8 vmx_eptp_page_walk_level(u64 eptp) /* The mask to use to trigger an EPT Misconfiguration in order to track MMIO */ #define VMX_EPT_MISCONFIG_WX_VALUE (VMX_EPT_WRITABLE_MASK | \ - VMX_EPT_EXECUTABLE_MASK) + VMX_EPT_EXECUTABLE_MASK | \ + VMX_EPT_USER_EXECUTABLE_MASK) #define VMX_EPT_IDENTITY_PAGETABLE_ADDR 0xfffbc000ul diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h index dc2f0dc9c46e..1f7b388a56aa 100644 --- a/arch/x86/kvm/mmu/spte.h +++ b/arch/x86/kvm/mmu/spte.h @@ -98,11 +98,11 @@ static_assert(!(EPT_SPTE_MMU_WRITABLE & SHADOW_ACC_TRACK_SAVED_MASK)); #undef SHADOW_ACC_TRACK_SAVED_MASK /* - * Due to limited space in PTEs, the MMIO generation is a 19 bit subset of + * Due to limited space in PTEs, the MMIO generation is a 18 bit subset of * the memslots generation and is derived as follows: * - * Bits 0-7 of the MMIO generation are propagated to spte bits 3-10 - * Bits 8-18 of the MMIO generation are propagated to spte bits 52-62 + * Bits 0-6 of the MMIO generation are propagated to spte bits 3-9 + * Bits 7-17 of the MMIO generation are propagated to spte bits 52-62 * * The KVM_MEMSLOT_GEN_UPDATE_IN_PROGRESS flag is intentionally not included in * the MMIO generation number, as doing so would require stealing a bit from @@ -113,7 +113,7 @@ static_assert(!(EPT_SPTE_MMU_WRITABLE & SHADOW_ACC_TRACK_SAVED_MASK)); */ #define MMIO_SPTE_GEN_LOW_START 3 -#define MMIO_SPTE_GEN_LOW_END 10 +#define MMIO_SPTE_GEN_LOW_END 9 #define MMIO_SPTE_GEN_HIGH_START 52 #define MMIO_SPTE_GEN_HIGH_END 62 @@ -135,7 +135,8 @@ static_assert(!(SPTE_MMU_PRESENT_MASK & * and so they're off-limits for generation; additional checks ensure the mask * doesn't overlap legal PA bits), and bit 63 (carved out for future usage). */ -#define SPTE_MMIO_ALLOWED_MASK (BIT_ULL(63) | GENMASK_ULL(51, 12) | GENMASK_ULL(2, 0)) +#define SPTE_MMIO_ALLOWED_MASK (BIT_ULL(63) | GENMASK_ULL(51, 12) | \ + BIT_ULL(10) | GENMASK_ULL(2, 0)) static_assert(!(SPTE_MMIO_ALLOWED_MASK & (SPTE_MMU_PRESENT_MASK | MMIO_SPTE_GEN_LOW_MASK | MMIO_SPTE_GEN_HIGH_MASK))); @@ -143,7 +144,7 @@ static_assert(!(SPTE_MMIO_ALLOWED_MASK & #define MMIO_SPTE_GEN_HIGH_BITS (MMIO_SPTE_GEN_HIGH_END - MMIO_SPTE_GEN_HIGH_START + 1) /* remember to adjust the comment above as well if you change these */ -static_assert(MMIO_SPTE_GEN_LOW_BITS == 8 && MMIO_SPTE_GEN_HIGH_BITS == 11); +static_assert(MMIO_SPTE_GEN_LOW_BITS == 7 && MMIO_SPTE_GEN_HIGH_BITS == 11); #define MMIO_SPTE_GEN_LOW_SHIFT (MMIO_SPTE_GEN_LOW_START - 0) #define MMIO_SPTE_GEN_HIGH_SHIFT (MMIO_SPTE_GEN_HIGH_START - MMIO_SPTE_GEN_LOW_BITS) From patchwork Thu Mar 13 20:36:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015891 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF5271FDA86; Thu, 13 Mar 2025 20:10:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; cv=fail; b=SwB7qCucv7X87SSYNv5mI4YjG+YiClbixZzLp8JW0gJwc8Eby4LTm0Npej0CT3QsDXMkkP1KNMP6kZf0pZQUr+OBg3BXVGCUsJjh0TBYJcRFtpLJ8Dkq4M23i8ui8xYy08+YIJj9iVxSKOYoVGFw++OnDJd92zC0foq8LynFi/0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; c=relaxed/simple; bh=lqLd5v3SauxqxU5QEpUvPuOFCTFAhjDknUCwV55XK+c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=gk8U6JGrWTY3GkxsViLXbeJVyHp0c4LIg/3p7tUTAtuLalj7b4kp3TGWNYrOcTP4qjCv/0pHiQngZreamoUmMKZx9923T8uech1+yXAy7X3dbNbjY77jBgllgocm2CTvLWkTN0v+BEHJ0hHO/zV6pJglKUW+U23cs/0jExt56KE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=y9s/4fJi; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=PFKFePre; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="y9s/4fJi"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="PFKFePre" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DGRKvu016613; Thu, 13 Mar 2025 13:10:38 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=BUUGo+tvUFuiziFovb0RuaPH9wVU9pcsmddoCaWaK l4=; b=y9s/4fJiDUK+3Ld8XqwIUhG+AJUHuHQeAsD9H5eq64iQciqPr9VHbCqMV GFZ0Tax+WK572FL+wBtx8wOVzAwn19wN/S0FvdtZOkeIkvAWZJ1iCg0pQPQtAweI z0io3wplPkZWZHA1OxX3FFOJOr4LJchSPQZDAaiMGzozqq/xuGTgN7so0TqvFHwh oOjhI00nJglOc2BTpOJQe4G8R1HNFbru9j5hHGiLwO0+tlurz8Uv4tNPorS0PB+q 3Kw9q3ThzzGT6gKHVg2QsRIPtMEw1UPXnt8whMsZiDPN4jzmW+R6SKZRUxH/N56b GQkcqNS9IcwSZWtNy4A4kXpRLu4nA== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2172.outbound.protection.outlook.com [104.47.55.172]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6u7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WQoR+QWbFiFh739EADmmFt5L6YSYNxieP5ySM67taNISSc+Uss1peXMFzSkft7dB5VEgUU4FrKo++z+FK0Hy3pKTV0aTNEnaXgvAewdLetQtWjDmxfW0RjLcwOMUfLJm6zzMT3QXdHZbTIU8TCFySTlfiZl/46W+28g8D/G/K+7ohrXOVcUEaC9ots0+L01zpOyvPnTz6DXnwAqH1S5S7N0hJvJutxLTVD13C5sBvJ3cOQipHU+eWJWNopCmBKgQ7p10fZi8OAcP9J7vXOmodmHZBLb4kvNsWO3/RhWq84N3e5iE8Mf0/gVv4CqSp3v/CcdAM4KwRuPHnPDXFrYRQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BUUGo+tvUFuiziFovb0RuaPH9wVU9pcsmddoCaWaKl4=; b=CwKvzgSIFhuZpCZxQv+VVV8fZHjIfSwOY6gfQIolcgzkqz5bIQk9nAA1y4W9mv0HH6JW122jtH1eimvU4ykzLp4OMh/50hlkGZ6ZHVpb3YxvguMIy5IGvB1oqzAIgnJcxFOr4tV+9ygenFIs0cUakCrfPZYs214FI7a9Z33buA+uJwWSGhxR0L10EKk2XYagy/86CDL982ZPgdJrIUiC9a97eKI8cOh58xe3ZhEFapN8vu0A3X5pzTLOSnvbknByceYiXE35Ftz3V0J1/VVxLPxL6PEnKovJ8JAXi/31P8kbFMTBCcMQ2a39SfnqwY9P29/0VDMMBF9XRV9oekelpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BUUGo+tvUFuiziFovb0RuaPH9wVU9pcsmddoCaWaKl4=; b=PFKFePreI6hIvNn01ngDyVrKIGGqnbCpQSz1+RORJxWqnJDpV5VhxE3VI8udBIxaNCWhI6pdLAd4R8i0Y4v8WJI3X8b6xGmEqVVZKVuHtIHOXLWcYx/oFaAbpcsxeYN6i1UIF2MYNp+RN7FgplreDXKJelC6WP7hkr/gS+dCFzjpdtUZaj+42jyeo9sTsFMijCGavvDsmyjhkiLYLvwR3Ztpwq4s/gs/y6AGf0KcBdI91xyp+f3oG4dhABjcDb6ALDmRLv3GOQQvZugBalnu1MCpE8/MrPe86W2cPn4OvWZGpN8OoA3wCsR37RmXCRih+2/zJH9czP3R1mIQlrY+ZQ== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:36 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:36 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?utf-8?q?Micka=C3=ABl_Sala=C3=BCn?= , Jon Kohler Subject: [RFC PATCH 14/18] KVM: x86/mmu: Extend is_executable_pte to understand MBEC Date: Thu, 13 Mar 2025 13:36:53 -0700 Message-ID: <20250313203702.575156-15-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f560913-6595-4697-71e5-08dd626b1dfa x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?wRY6DK0mBubpT0ANsTis7nWWquxwaFH?= =?utf-8?q?vGh0CwddJR7MnOJjvkfpE7qUTZ1aCyUBPQE+IJAw35rmYQIJqGu96ySREFHg2azcQ?= =?utf-8?q?mFos/Qt9VnV8tKFlDJ/xGDVKb9/hkYwX0JIn7ceYG0zldqxItwQ40RBuum90r7srn?= =?utf-8?q?4GW0MQNEhbrzOHzHPepqUfYI5/2CHhGY7kKgpfr6n2tr7GA+Os/d1tCd85gVqiDYN?= =?utf-8?q?2Z7limJ72aX/lPGjUsticoVE2oCfCY4Ttg7E9Bz1XJj8qO7iu+apniouBmcCyh4Y5?= =?utf-8?q?G+quMDdF4RGlXIiINckbd0EHItI8ODp/LQovV26KDIQICMGaA8WsRRerBZ+hDz4nN?= =?utf-8?q?74hTISs1JN3ewIP/V1OJtaD2V0d8i2xIy2HcjSBY0W5Nu1ooSutFdTRE0QMzG7bNu?= =?utf-8?q?j1rDUrZPT5rMXDzUA1S8DVXuOYp3F5uZvTNMHuLa69/d+2knCGCBUpGgnOlu8AHsD?= =?utf-8?q?2vJMdKYgQRv+rSe9fl03R6tXm5OTS2ChRL+p1rXfUkbLFdKTzMcpYlMCJF8mg5rh7?= =?utf-8?q?9sXPXXvMbwYoxsbRy5s7SY3f1fmBtqi+YF38cs/av6jFCDAehy4NGWY/jw28VK6Yo?= =?utf-8?q?ULAnP+xvQ/O4q/kj0XgRCnQCYFrTkGXFTSvpqH4peIS8B5PU+HepfzoNxN8/WWWSw?= =?utf-8?q?8wysjtsB0qYPDC/lpwMmo6PyCk8nwYwbHL9uOEOshMZ0LWzHDcXjAawF8W4QqP7Sw?= =?utf-8?q?qvJmXEaBmfwwhOxZLvyYfg4rA8ua9yUKPud3O6eCTYXjFv++d9PiKp8ooBe0gZNZK?= =?utf-8?q?dEtYdNWZoyAyy1aBA7ssTC0Vi6fxzRCWc3gLzaO/nOMp4pHMCLOXUIH0fUFULG3WS?= =?utf-8?q?VGcq+GE0r7Xe/JBEp34E6zP7nQk+lcla5f7BJ4H5Ij4e6EuWS2e9h0OQ+39LLMWd0?= =?utf-8?q?vNJwE5MJfCXXICnoXxqWJTGJqO+EV8l6B6QrBR5UoFu17knt1hyerVfpSZBnuCMQq?= =?utf-8?q?dU0wDk87uPKy5G/sC6NpXdvx8cfu7yNTlOJOQWk5CBVUJVLKXI8cyNWX8/kXSQCkS?= =?utf-8?q?GeA1GxE/2A5G8sq2c8TI1+7sUKVuhGxEp8QSPJOh44AqGkD1mOUiOux40wwau3gww?= =?utf-8?q?mEtt1m5VE8Bmn2XrSyxseGtJsh0Jbv9nJ/NtweqVP5zvOHA2DGo4/FEopMsZabzCh?= =?utf-8?q?0u95ZDd88/XmC+QleN6UymM/zBbIAGbrGnIDO2wrzrvneFidYLB1FZwjJncHEgjd4?= =?utf-8?q?h9pTQpbTqfE9cQWGMiEQ9LR5B1CyBvC1BFB128JdpwtxKTrVQX3MbnqXvlzSLe7hz?= =?utf-8?q?CBervVXlfFNAHUFQY7bvIZi0y+KPAVWkL7y8cvk4p2wDSM63AS8cWjakf+h0vZuP3?= =?utf-8?q?8Yzaha21GCL1VP9RsUQhUeQGpfJX9gZPSXcfGdfWxrUyrqlcv+GqTt0C+KLVIbGDz?= =?utf-8?q?tc3vh8UScnTEJwFOUPBSIAgTBvzAtW9/Q=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?scxJgIAIp8DVRi2CxMJ6+2WNRBva?= =?utf-8?q?GC2GSBv/v886Ehup8POXNY3YMWsRJGh8kb1nIuxfu361VsFmjkJc4kDNpJB3aUGWp?= =?utf-8?q?zuy34FVxy3rLKk4Ag3vN/v/LlvlWfxZvowN0/ja1YTQJYX0vrC1yqs2IBtCYTbkBb?= =?utf-8?q?pDQ/hXURNqqQZhF4rvUvh2PWLODBrHjbSna3X8ploEUbgkShgTeLjno8kmhl6hV+J?= =?utf-8?q?LQzRawCbOQmz2oPO0iKaknQbRJcz29Yi5VrA3+4edR/uMCLuwi+Uuk8+fnBVENvIc?= =?utf-8?q?8EPnzKvrraklr5lhgup5O0YLCCwugnXWjlA/Y9Ze73sWCrMXADQjAavwy5lE7rugZ?= =?utf-8?q?BnazigJLKtaJARZqMFFqjm6g8MV7uoXEYbAJ0ZwEDtqkcQy2LT4QjBoBcotS+K+qt?= =?utf-8?q?S/m2rL0mVrwV5Mhx/oQwDRUDya+TZWtoeLpFTZJW3f84kdIud02U34KMj+S3M9lzk?= =?utf-8?q?Pqpq10XAk3ErK6UCct6++EwVneegQkEP+VAiBKJ6rlw6Hb5qgBiZG8/3eJOsxhDVs?= =?utf-8?q?SWNY7syJ7a6sS979wssmX4LzYCzTK3qX0fy2Ve1D29Q4hhQWD7CdiuvvUgwkRCqXo?= =?utf-8?q?7GYy/8j4chROALDFpSyEl6ZfizCZNqyBBuoZgTVJfT55jQueH9vg/FXEw4AgibsCl?= =?utf-8?q?wnQ5ncaRA3eaIdJuDU3hHo825RSQIq8Lv1OesCjuQfuL9nnP8s8/VJ/A7UlNovd8K?= =?utf-8?q?a5h7E8MTLFldwfxP7xEJji5HsY942UEnPnm5TPnDmOw0IalpK5rtoYq6Ddm7tGD3d?= =?utf-8?q?7cP2jOtfRY9SBz8wX0ks/kyRuqWIMyMlwCclrEi+uiUk708IomF0UaP6smazy9Zvr?= =?utf-8?q?Ic8qh/hSeBxXo+hgYYjD1VmTnKfBzbN47WAbrXqL6V9Wl69pnH7up5DJOkujiBako?= =?utf-8?q?VVL1F7Ycovb8kTl8TI59fZmDSb+vmz6iXBH0hf+ljhs8QXoh2vP0zVN92bxN9nRWS?= =?utf-8?q?zi/Kj6iqabNWpj7GeP66yP87qcprSIdDVhSOn1DShAi1ZRPJtIf2YyhVnZvqnJHSv?= =?utf-8?q?766Z1ddpBCI0mOtbfqnnuQJkurL14n00fLO4kjRb133HzL98ABt6lfteG4TDom6BY?= =?utf-8?q?w5n0TwC72sflQa4YMP3gcOcwYtz0ZuaRp8QIUlv9eucYViUPqbcT26y8e1XmjALZi?= =?utf-8?q?Yb78X3Lm7m1fKGTpVvhuPJglzKui7q2c2aQtiQQuzGt0emX45EPHn75l3o4f4BDhK?= =?utf-8?q?QCqws6H/7QWwXIIxeM13ojzswO/Oh5yzxiA33xBO3qcqxFeARLp6BFERp71+tAHDc?= =?utf-8?q?G9Qn47jvOWjoDBanGiSSPtkUy7bWcLfIQxFG6omMjZ8Yk0SJCW0QiXCGqG74A+eUI?= =?utf-8?q?spIxWSQByqra6fxrLFmBA0jnHW9IacdvrJ4xdKLZrMuHqluikfTtmGA4SkpH3j8qG?= =?utf-8?q?tdz1Px5FQdlQp0TaHyjdY3BLxFnei76fHofWIFbtl1FWfnM3WqxIk+T+LaN3QzKr6?= =?utf-8?q?Z/IIOzUzLq9+Fi2H4bkWjMOTlIg9tecqazX0C4QZILroM4Y7RJQakdTv82DhrgQ6g?= =?utf-8?q?u7M1CO3M544afbTFTAjZFpKyFexJGzCqKQ=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f560913-6595-4697-71e5-08dd626b1dfa X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:36.1730 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GTrTeYrNKZr1LbIITDgb79GYpaTLSj981ji7OpKhdhIvt9cQWQLwR3Mnzbph+WQwIkr1X4QyrqO+w9ziMvVBha8kVFYgCK+cL57A2Na/Oyo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33bbe cx=c_pps a=tyvwN2z/Y66O58r8mq/nTQ==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=edGIuiaXAAAA:8 a=64Cc0HZtAAAA:8 a=d9BMwJKdUS1y6B2Gi2EA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=4kyDAASA-Eebq_PzFVE6:22 X-Proofpoint-GUID: FAx-jJun03di8Cwpt8mfNjxlEkTk4OJi X-Proofpoint-ORIG-GUID: FAx-jJun03di8Cwpt8mfNjxlEkTk4OJi X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe From: Mickaël Salaün Extend is_executable_pte to understand user vs kernel executable pages and plumb in kvm_vcpu into kvm_mmu_set_spte so that tracepoints can tell the right execute permissions. Signed-off-by: Mickaël Salaün Co-developed-by: Jon Kohler Signed-off-by: Jon Kohler --- arch/x86/kvm/mmu/mmu.c | 11 ++++++----- arch/x86/kvm/mmu/mmutrace.h | 15 +++++++++------ arch/x86/kvm/mmu/spte.h | 15 +++++++++++++-- arch/x86/kvm/mmu/tdp_mmu.c | 2 +- 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index 791413b93589..5127520f01d2 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -2951,7 +2951,7 @@ static int mmu_set_spte(struct kvm_vcpu *vcpu, struct kvm_memory_slot *slot, ret = RET_PF_SPURIOUS; } else { flush |= mmu_spte_update(sptep, spte); - trace_kvm_mmu_set_spte(level, gfn, sptep); + trace_kvm_mmu_set_spte(vcpu, level, gfn, sptep); } if (wrprot && write_fault) @@ -3430,10 +3430,11 @@ static bool fast_pf_fix_direct_spte(struct kvm_vcpu *vcpu, return true; } -static bool is_access_allowed(struct kvm_page_fault *fault, u64 spte) +static bool is_access_allowed(struct kvm_page_fault *fault, u64 spte, + struct kvm_vcpu *vcpu) { if (fault->exec) - return is_executable_pte(spte); + return is_executable_pte(spte, !fault->user, vcpu); if (fault->write) return is_writable_pte(spte); @@ -3514,7 +3515,7 @@ static int fast_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault) * Need not check the access of upper level table entries since * they are always ACC_ALL. */ - if (is_access_allowed(fault, spte)) { + if (is_access_allowed(fault, spte, vcpu)) { ret = RET_PF_SPURIOUS; break; } @@ -3561,7 +3562,7 @@ static int fast_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault) /* Verify that the fault can be handled in the fast path */ if (new_spte == spte || - !is_access_allowed(fault, new_spte)) + !is_access_allowed(fault, new_spte, vcpu)) break; /* diff --git a/arch/x86/kvm/mmu/mmutrace.h b/arch/x86/kvm/mmu/mmutrace.h index 2511fe64ca01..1067fb7ecd55 100644 --- a/arch/x86/kvm/mmu/mmutrace.h +++ b/arch/x86/kvm/mmu/mmutrace.h @@ -339,8 +339,8 @@ TRACE_EVENT( TRACE_EVENT( kvm_mmu_set_spte, - TP_PROTO(int level, gfn_t gfn, u64 *sptep), - TP_ARGS(level, gfn, sptep), + TP_PROTO(struct kvm_vcpu *vcpu, int level, gfn_t gfn, u64 *sptep), + TP_ARGS(vcpu, level, gfn, sptep), TP_STRUCT__entry( __field(u64, gfn) @@ -349,7 +349,8 @@ TRACE_EVENT( __field(u8, level) /* These depend on page entry type, so compute them now. */ __field(bool, r) - __field(bool, x) + __field(bool, kx) + __field(bool, ux) __field(signed char, u) ), @@ -359,15 +360,17 @@ TRACE_EVENT( __entry->sptep = virt_to_phys(sptep); __entry->level = level; __entry->r = shadow_present_mask || (__entry->spte & PT_PRESENT_MASK); - __entry->x = is_executable_pte(__entry->spte); + __entry->kx = is_executable_pte(__entry->spte, true, vcpu); + __entry->ux = is_executable_pte(__entry->spte, false, vcpu); __entry->u = shadow_user_mask ? !!(__entry->spte & shadow_user_mask) : -1; ), - TP_printk("gfn %llx spte %llx (%s%s%s%s) level %d at %llx", + TP_printk("gfn %llx spte %llx (%s%s%s%s%s) level %d at %llx", __entry->gfn, __entry->spte, __entry->r ? "r" : "-", __entry->spte & PT_WRITABLE_MASK ? "w" : "-", - __entry->x ? "x" : "-", + __entry->kx ? "X" : "-", + __entry->ux ? "x" : "-", __entry->u == -1 ? "" : (__entry->u ? "u" : "-"), __entry->level, __entry->sptep ) diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h index 1f7b388a56aa..fd7e29a0a567 100644 --- a/arch/x86/kvm/mmu/spte.h +++ b/arch/x86/kvm/mmu/spte.h @@ -346,9 +346,20 @@ static inline bool is_last_spte(u64 pte, int level) return (level == PG_LEVEL_4K) || is_large_pte(pte); } -static inline bool is_executable_pte(u64 spte) +static inline bool is_executable_pte(u64 spte, bool for_kernel_mode, + struct kvm_vcpu *vcpu) { - return (spte & (shadow_x_mask | shadow_nx_mask)) == shadow_x_mask; + u64 x_mask = shadow_x_mask; + + if (vcpu->arch.pt_guest_exec_control) { + x_mask |= shadow_ux_mask; + if (for_kernel_mode) + x_mask &= ~VMX_EPT_USER_EXECUTABLE_MASK; + else + x_mask &= ~VMX_EPT_EXECUTABLE_MASK; + } + + return (spte & (x_mask | shadow_nx_mask)) == x_mask; } static inline kvm_pfn_t spte_to_pfn(u64 pte) diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c index 3b996c1fdaab..6a799ab42687 100644 --- a/arch/x86/kvm/mmu/tdp_mmu.c +++ b/arch/x86/kvm/mmu/tdp_mmu.c @@ -1056,7 +1056,7 @@ static int tdp_mmu_map_handle_target_level(struct kvm_vcpu *vcpu, new_spte); ret = RET_PF_EMULATE; } else { - trace_kvm_mmu_set_spte(iter->level, iter->gfn, + trace_kvm_mmu_set_spte(vcpu, iter->level, iter->gfn, rcu_dereference(iter->sptep)); } From patchwork Thu Mar 13 20:36:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015889 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A73871FDA94; Thu, 13 Mar 2025 20:10:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; cv=fail; b=WjXlLKXKQbBSR21rqrdqQdy3pDhrGBe0RQN5aRWtwolNLw/asFsOxFnIxn+QCnLX1Ziy1Iv/OqO+J3i5ebwXY8Tlh9GAZDgVydNejswdP001RbgM6XrTEDaW/16WTBpAaLSDvA3HmDiUIoTukNNiMAIO8MzV6RBcUZjFbm5IS2Q= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; c=relaxed/simple; bh=LbMldjcIPLDE/PZZerR8HoZSZS1QZSF40WISAquDiwI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=BQZtzV3nhwmh9gUyW7t1veDT9e4s0EjvvGzO/WsyfU2uUQIBKwH+E20DqvSv8gzbxUCVX1LWIBf6+NmalCFUE9jG8s3W4WAQf/9HXmbolvg+FtO58o8OaqT6JFMNDUQDWF/28HfxXT4eLlbYKj3Dhop4ceLONTJTuAmWAWK/sRo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=zGly9/tx; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=Uu2+aB8r; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="zGly9/tx"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="Uu2+aB8r" Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DGRKvv016613; Thu, 13 Mar 2025 13:10:41 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=KxBn2M+/lg4XVZjQzHxk25BYqORtM025d7S/MwhSw Ew=; b=zGly9/txi9SFapUdIMHMDtfDieErvpwLIQ7+4Fa/Hqw0a6NOYhTohOqLH MMjGHo73E/2I+qic00DNgCoYfQnTj4ov/mtutv0JrAcQqB8Enz1FUgxzPRdf36+l CIO/eBexKk1WNNqpRfEfd8dP8X7rST5cb2CPhRLFqZGagNa9T14o1jkXb3A2J75w W7nzuY1pCl8mlFoZVZZwf5s8sqBjwDlEreCXgOo7eof50EoNYnFDjSmMF8M2KQKr 3GMYKfqLhKTSh6pBjdRvzrYpr7S/+9EkCTkSym706gFcBtKqMe/qLIZ7bOtbAzlE 5sXRcd0lBLUeqmwF79bp/B0TvansQ== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ep6ua-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Dy6jIoEGPzQnyZz4BFJiu4y5EDda8o8M7uuRYo0ZrocIhq8gHUhM3HQZUVp8uZ37FHJbludnN4+1Yta4XnqTcwu+JEolNc/Pc2rhDS4vxPBrBDYwEcakD/LLSHd51TfjTlo+Vw530gdL3WzCp86m7xYE8ShJmHxmEzVeT+CpD3H23T8dgWGSln+DCxBsolKcU5859i+mfm3lFDisIbJkgaSRDhpW7v36sYFL8OU77IvRLDftMB/PVELcqvRbtf4Xpfeb2nx2F7lcpPinCWw9wmOd+Jn8qPdasXLUG/Zl37rCltzXocyU2KwL0U73QKAvNObV6tegeU85rMoisWy0bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KxBn2M+/lg4XVZjQzHxk25BYqORtM025d7S/MwhSwEw=; b=WiYPxdEhJZLNq2dtNXmjoZ3ZZvKTMcjqi1l8dI/bvUYxw/0nO6ODYwmaLE6YN5RdNUdgO/E0y7ijSLCxRSre/WMXiVBP8dsErFMDCvMdzuaLGgb5x67mbndjP8w67zK8LeH9buDb3ZKjmwjUw6subO7b2aDMBsPEMvKKCQZeKXn7HBHsiMcPF3fsF6o29MoXWVk/u1z+iCtj7IdcakACr3ZvQPrZxEeeb/bU46zOBsEnPkTGGUjiWO/HNow1cy6/o/HrKQSeTtxBOQUcaMytQ8dwsAtbrrlHwQ8WmJy3vkKBst4eyFL+poehOZ2CjyqrC1+1tTCoDVY+EaukKpCW8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KxBn2M+/lg4XVZjQzHxk25BYqORtM025d7S/MwhSwEw=; b=Uu2+aB8r5pGX1h0GWyzMLqA92oNZScmYQCGzgO+YnvpoeiOtv4VMjHpB41f5z+IeGk+3pPErLF6Tq2LkWSsnyYpFm4qlzW9s17+guX+DwS0xDdEKPlXsNC/uO+x/3ZnqHXzrrxiQgFZXYBphF8gmANVflNeFNVbldJFWC9kAnERfEbXYYGo7wVMBgypyD0Ysdzfn5P+eWSdCJpmb2Tln2+FAWYPojO3aUeLn+MHnCGBB+oX2+yV3YoEYtNfon23rbAT4qSXyjUrcPRC8oR6ZwTToGtpyLkL6D5SK3Gju8ATdPKNA1x5c7DXniQYd29xVipHqnfr2opSmzLHL69C4DA== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:38 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:38 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler , Sergey Dyasli Subject: [RFC PATCH 15/18] KVM: x86/mmu: Extend make_spte to understand MBEC Date: Thu, 13 Mar 2025 13:36:54 -0700 Message-ID: <20250313203702.575156-16-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 3cfd85de-b0e2-4495-414d-08dd626b1f62 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: LTXWoQ/y5yx0TUiOun5r74fUTK7WltBoEzh6KStRnYZJMsRmROgFE7dWWj2IuayebJ3Cr2XrR27bL1Gx1UT+CqUS4rsWX+MPjTqvUH8sebjnuPaflXnngtPqttomBzAbb5+lHCWxSz8bwWqo+TYy55xWvJNieUNr5RlPJOfAyqYoGJG7TKixZcOCmR4lUi6norHFO1HqdipZgEMS8Ac91m6T/gECAbREKP7cuLoVMXdNCjnbmBI/4N+dKKYKSkP5JfA0/NkSZwia/b9p3wUXoEWCTi305MowG0JLRrtOJ5/82uQ7WqVibm+dpOPmmM8rxOMyOzdN4HTiQH3sNc/z/QBdN35MYT3+FRH1A/Nu1gZjguzp2T3fs0WvfLnd/hfnn2ZG2rDsTWy9pOhe5/c4TeU+TxqUHvqroNGl6N1FVpsA1/eZzKgpXts3d+//G9B3sGH2gUBI8P5qXMxYQ4N0F55UQy5h4Qh7sRj5luAX8jMzNkRHqSAZIY+ONRrJrxaOFcqYfbLjMNPEkhAu2re2udS3SDCTDvd1fF1sHFk7LJbQyanY721jS/ur3CYyQ2IYKlbUzTmukIQFBPA32Q3wdkjn2+m3tvVLVmZnCGV67XLIEKfJNYZ4heqi6x/X1aFwt7YmeL+q3RKGI/HL8GwIthDhN2M1mVT6iFvXFfqIVS+Bncvu3NzFJZWcrbh13nsTZ0Ind0aKHSJFKuEBixqmjEsR9pEmg1RO132lIsbNKQvBhvSKSlblfq9HNFdYmxMtPojyTcOANqVjS700nKGEzYIrlwls65xKzn5OEDAUdakdGSAHkOTJg5vLSm9+1mU/i/2Plz3m7r9btm/8vr2GvmLEx3kcDNj+nM1Tupse99L6Twl8Wiw5TgItIVAWS6Pdvxaw2mwDXA5QFS7HUE32eFE9hePLhPJS6A6HIXSXHByfQlNB05pe+Pg/JCFQO4TqLa5dF3yfJPuXtCnda4SSZp+G7lJwrSOrgYFbSXBeMPBzsb8CXxm7Fh8IQ2EqoRKII0mWngghXyfI20O1lB3EzYXhk20QuX2wVKannXqo47hpUbwpuVgBj/AoClsxf+YfzNIr38Us2fxueVv0YSCj9vObYGHjZCqQ6zVAMe4z1CN5lBrM4Sxr4N4s67alcUyCXfb2eEZeKOa21iSuWH00fo4/eqMOJ+yFIa4TepVq83fJgTsANSnWOTm1R/94jNiRVuR9mmIadHMIVZORs0oYpyZ95phML+NwCUa7eHzW+aeu4RVIxTG0gFshUmfmI/CeC/gH7Qg5dEAG0THYzD27CjpTmaiHP0J+54Ero4pfSKkkrOU/Ng+gkkYAsdZy5xyPrXWPy2mWWG0GOPudPWXyFUHO9JKv/0gnpfhScoo/qnC67Sw2It2QD9TgLZsLWqhpAndSrgdJ5HHINBetuIEPe8QkE16qgsFZQZyRAzNESrtobHiIFpXIY1ffnnFeJA5S9hfL6L/tZK0DsK77s1raVQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gjXwWSR848k+Pfhy9DhR8Ow0/HjgDeJKdSkRHg4wr7y7FhdqCYyngWR1vMzWxgwflvYIRjW4I+xomcXHnyOaPmRnmPcNaIjIBpjWxwUAvkMBl9PbVuDuABABpEkwYz2cLr9c5rNlMRIBHzc4AsqtC7dBc9Uie7t/o3Ypcp7ffT9UybTelH7Pd1FZDQCTI6aS6aoUHNZ3Qgowxr8yz5LyNgI2P7XAS0TTYf3uvIfrQ66KH7b044NyL9TGdzWSz5XR/0UOMtoLxHIt+9j4mFaVsV70ms/x04zZ8ya+UzdMvUf02N5a7KztwFtMsABdewUKvO9VxoGNpAGxi8IDdRmtRbdOriE0lIa3fqN7hqqnUfzXkazXRiIbC3PWnK0aEX+vJFIo5cOTockictiAmcrkJtJcZF0RRlpx3qhWF3BTeHhj3yIPaqfUa0iSSRp0EPr2Ez9QXf/O2MlMfzWb1E2BBJ0snsnxZAJBvJpCVMTnTvf8hS1fFzDcOa1QS468d7j+FwxdfV358GqkI7niL7B4MYR7R0lDm96HDAcK+6Eg40wd9IzXJAmByepbo84JgJiHy+XYky4Q275VBmV2dmcaPbX9UlY2O22r6dMeRYjsKV3XYjIo5cescEMdHqMQNZEbJd+6BlOAUB1ISphGjktFaoXK/NnRL/BZD4YlvT1Co+OyLiesQ7XxPi/8fxnTF+Sy+JlRQX75ptHo5C+xgphkT4RYUpCOE0LNc9qOYu5203Q3+GnPw74CxQYdi/9MUp68ZdTAC/SaHqjar1vF6kYgV9CYadlAI4zvE1TB6w4765L+sYMuFK3NceXLujtQahj8gZSUr9/UPZCP/qOvvUaD64HWzNVdPJpEPFe2XyzN9z287p3Tg+jGmvbLM5KxT5juiKyCRFW8eOACHLZc9xbcYWwOepTKKvfecwjJ26EqxygwbeVQgNK7yCUxZpoNaFy0qCZSQTQ2jflwpd5LF7IB89/64UJwAAFJ7rXmKwU6gIFCeRuVmlfJS0Yoe8rffoGzy7izPBisUuVgsqxAGqg/zWM4Wyc+z6NrGbQKvyAn0PnsRHPcPNlYKMIAi77nOGZgtOhFABXw186nxPrFhssKC/VsDa2kLMfBC+bzo4BcA/ZHCTleK9nNsCH5H9Y7XXT5T+ZOsSGc09K8EsKPp0uLRoaTsWuuH014xmF2SpW/NanySN/SbtI8bOxp0VGi9bN3ahyOKesf9Jhk8mujwTmrisPmRTv4stBCfWedGRzEM3zHxk1TN9w0txHWAm4jJRcOy38TdyQ2zCg/0dBw9zlRWkZOapd2h26r1tWD7cKfFMgM2Kc3jti8liPIfSASx4uuLAfnJrYZnahBGKluPCV720G6KGisO0LKaSa5X0fVM/vrXuwtSLwC9QrY8NouRbkMFwpZ0eZZxFFuD3rYupjKhVxvKQ3NFVW1eUyvyBSUONJm+no8GC9mNvyg9gtTCkvkcgL73qMFQZI/RfVrJjKuuwccwNX95GwPy0quHbi8yeyOEGZpk2dcjcNqtmW2CLrdVNqyQNiy5Ey3BSofS1r2fVJC9tVXMUigfZBeZbGzADEc1XXr+KHOIxekmw+4GQU/Ud5Y3UA496ON1x2jRKoi/Q== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3cfd85de-b0e2-4495-414d-08dd626b1f62 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:38.5552 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GzTQURJ63vu+XNBTRgo41KPsnQeFoPk/cmKtE/epvlFPTBoCwhA+IN3yZqWfkk1rQj9UI8tmq/aeTmqvsd0HVr8DONNFnXe5lTXd3XzRmDg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Authority-Analysis: v=2.4 cv=NL3V+16g c=1 sm=1 tr=0 ts=67d33bc0 cx=c_pps a=LxkDbUgDkQmSfly3BTNqMw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=xgkDhTgtFcFo7_nozIcA:9 X-Proofpoint-GUID: sU2rX9OtlsaMC7LqQ-6lAS9iWaWJrPDA X-Proofpoint-ORIG-GUID: sU2rX9OtlsaMC7LqQ-6lAS9iWaWJrPDA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Extend make_spte to mask in and out bits depending on MBEC enablement. Note: For the RFC/v1 series, I've added several 'For Review' items that may require a bit deeper inspection, as well as some long winded comments/annotations. These will be cleaned up for the next iteration of the series after initial review. Signed-off-by: Jon Kohler Co-developed-by: Sergey Dyasli Signed-off-by: Sergey Dyasli --- arch/x86/kvm/mmu/paging_tmpl.h | 3 +++ arch/x86/kvm/mmu/spte.c | 30 ++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h index a3a5cacda614..7675239f2dd1 100644 --- a/arch/x86/kvm/mmu/paging_tmpl.h +++ b/arch/x86/kvm/mmu/paging_tmpl.h @@ -840,6 +840,9 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault * then we should prevent the kernel from executing it * if SMEP is enabled. */ + // FOR REVIEW: + // ACC_USER_EXEC_MASK seems not necessary to add here since + // SMEP is for kernel-only. if (is_cr4_smep(vcpu->arch.mmu)) walker.pte_access &= ~ACC_EXEC_MASK; } diff --git a/arch/x86/kvm/mmu/spte.c b/arch/x86/kvm/mmu/spte.c index 6f4994b3e6d0..89bdae3f9ada 100644 --- a/arch/x86/kvm/mmu/spte.c +++ b/arch/x86/kvm/mmu/spte.c @@ -178,6 +178,9 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, else if (kvm_mmu_page_ad_need_write_protect(sp)) spte |= SPTE_TDP_AD_WRPROT_ONLY; + // For LKML Review: + // In MBEC case, you can have exec only and also bit 10 + // set for user exec only. Do we need to cater for that here? spte |= shadow_present_mask; if (!prefetch) spte |= spte_shadow_accessed_mask(spte); @@ -197,12 +200,31 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, if (level > PG_LEVEL_4K && (pte_access & ACC_EXEC_MASK) && is_nx_huge_page_enabled(vcpu->kvm)) { pte_access &= ~ACC_EXEC_MASK; + if (vcpu->arch.pt_guest_exec_control) + pte_access &= ~ACC_USER_EXEC_MASK; } - if (pte_access & ACC_EXEC_MASK) - spte |= shadow_x_mask; - else - spte |= shadow_nx_mask; + // For LKML Review: + // We could probably optimize the logic here, but typing it out + // long hand for now to make it clear how we're changing the control + // flow to support MBEC. + if (!vcpu->arch.pt_guest_exec_control) { // non-mbec logic + if (pte_access & ACC_EXEC_MASK) + spte |= shadow_x_mask; + else + spte |= shadow_nx_mask; + } else { // mbec logic + if (pte_access & ACC_EXEC_MASK) { /* mbec: kernel exec */ + if (pte_access & ACC_USER_EXEC_MASK) + spte |= shadow_x_mask | shadow_ux_mask; // KMX = 1, UMX = 1 + else + spte |= shadow_x_mask; // KMX = 1, UMX = 0 + } else if (pte_access & ACC_USER_EXEC_MASK) { /* mbec: user exec, no kernel exec */ + spte |= shadow_ux_mask; // KMX = 0, UMX = 1 + } else { /* mbec: nx */ + spte |= shadow_nx_mask; // KMX = 0, UMX = 0 + } + } if (pte_access & ACC_USER_MASK) spte |= shadow_user_mask; From patchwork Thu Mar 13 20:36:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015890 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6CE31FDA96; Thu, 13 Mar 2025 20:10:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; cv=fail; b=ZZYy0jNK6YLTJlC2G5laOWa12vnB9ZGRPqVLfqEGHY1fwTRdh/y8qke1LO+fSZvmn3k0cjzMvC9X4T6o+Dyd+ApcBOFbdZQEpXMJGSY3JjsTnfyIjZHjewah6ec3JaKFsK5LTh/4BO2N67Zuo6ofOewko5KltyvmT9+7mNTIoYs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896659; c=relaxed/simple; bh=pBjwUBMZYgLeBw1r2pqZoXtnEBaG+7FIGk1Mj9+g1qA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=GD4wC/R5ei80nutWVQ+5vyC6XpgNHYLHv2CWTC5HvzXounZCRziUUmKKHHYOawdw8qn527J0L2NUzLYNSFrDlOI1HUavsoqjHZ61G2benYt9pdjXQqia9EEFziF7PgXPVu7n6pb0tM8a4hqq3Q6RUPZbeFKyehvWQ6vvEREOTyc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=cvIn55C9; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=S41WiJJM; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="cvIn55C9"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="S41WiJJM" Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DF5DnS009026; Thu, 13 Mar 2025 13:10:43 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=zrGv6cP4lGm2e3q0jjpOKZfIdX2RlafIl44h7Yd66 0U=; b=cvIn55C9lsaMFOeLDGOHSqpjhelQNMOjhLd0sYvH7z2+NM6JfC/ze+LZ+ +GVJYF2TxNux5MvdVc3Z+F/t6JYD8xLMkWDLonu3LVXsgMX82wJxfZhpfEnQC5Uu bKLBgtm0g5SEmASl5VXYc2VZcAVwVRSNxgf+MDAMq4ezdx0GxP4kyOtmLZisq0sU 2P/rQuUXUZ2tzZvN0OoJM6vJA6wETSHUt8/vqO0n8aQrntTTYjcZPf20TsqubBxI M0lULYAKKFfR/nCQBdjKXs/8Vg0KcavisYYEXd/wqYNvVPvowH9XPAtE8buA0bmO 2m5uLhU/NA05AhzzB4EEKlknVs7Kw== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2173.outbound.protection.outlook.com [104.47.55.173]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9g67k0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V2NZg0QfAbl3K9jTcAK+XrOx+roUiMfJKnkiYCnT07nmtghyX/u0mIxIWRyL7m0z3H29J7hAFMiE8LuJfBj23y3yrD4yrn6nj6/YorrhSKPwZbiVmg7rwA0qronXST3kW8u0+3/BfNVAK5CqhzRPx5tu6CIHPeL9/bh4vVkdhSEMBATqB05u0kdsp6I1LvL3pWfWX1/TWx1ylO59T9GZo+Vi9roPOq0OfbuI3TiFAZAxkQXOgcHMGLSNkLUx1oyn2FgSA476nx9XFbnfpuLbMcBZzGJMcCL+r5bAkIXpsfOIB4QMiD8b2NV/3J0gdMk3i7ZjcHkowm0wJgbl9sS2VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zrGv6cP4lGm2e3q0jjpOKZfIdX2RlafIl44h7Yd660U=; b=j7D6zSisocsZ2QxFku14pXF9/X+iFHk3m94k4MEQV6ZfQDYc8xrAesD477mk4x9SU3vWImDisp4fcOkhyjbv8zoUYKu3j68PE6KCz1TmqhwMmm5hk+UBMLhm5T7PoYEJ/+fY4qp+16V37BQA7ArcPSnUpPR1ySBfgSa7afXZIupSmMVKfBNIgFzxO63x7UyaAUUq2EsKz9qwMvhmruKpuYtb6jvIcN+PzVN8fUm7f1gCeq4BXT0cgPN5x4DafIXVP1dgMeIOkYqgBhRds/ZNZ/0A+GfZbC8H6e71JFekC6jeACySNWkrVnBf2n7CbANB5ll7CQizuQV5t6rSur2fHQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zrGv6cP4lGm2e3q0jjpOKZfIdX2RlafIl44h7Yd660U=; b=S41WiJJMHzboZyagluVIX/QMRVdnFdMwEAHVwgvz8Sp2qq48aYDFstIxTIRMM1YwnqMPE8eMXKvUxS/RrLsDUcFhj/G70vmpyLMdGSEQVOOnFFKOPe9OKR7rkhCmku3rgM2gE7Sfk99hAqwD7e33MrGwLtxL/YPx7I79ZtzH2q0t1zKNJfWRpkEQAFl4nBbyiQpSeP5ZqD5yMFYA65EibOC7IlQaAhGl6JkJMceB0WGgxjPnY41oX8tT9sSkZBIqNcUNhAhGjMiYxYxPs7D7HbgGmA5lVxc64PcjBh+9FFjyliNQF2gz5dQlFmTodD9ZsS6h/6YtJP2SPISmTbgIBw== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:41 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:41 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 16/18] KVM: nVMX: Setup Intel MBEC in nested secondary controls Date: Thu, 13 Mar 2025 13:36:55 -0700 Message-ID: <20250313203702.575156-17-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 2494825f-b416-400a-c30a-08dd626b20e5 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: aInKvUEnOqTDOVz6BFM/whQbRNZf8hOHJ4g5QQ9bTUBHt5MnrgcEj2FhRjTKvFFUGF1y5pqTvjuzhoBiVv3FxlPD3mlniJLuDyILa3dpnDcBinJtYCIOPUjbkLtJzxdiSZYz9ORlwLp37jqCCCBlQCGleNN15YGVP+Lw8vFjQshGUxtEIqfmMebHtVDApbWPQkMlysjtQrFfujBjWhDkoQ8LI0ZhNt9VTxHL6zRMV6YyBb6vAq+avF47GN5kk4cDmv6JscWM9EtzdIWBZHfSi2gc912O+r3SlxDDmKk8L0tc85MPr1L3io2yM5FiCBMxFX1CRTMRqQ8ORPGOdUXDYt9UNMkiG7uCdJ7WSw6K68H4zcQhh+Cbn2/2DHwmrXh9kU0sD2WgQ8kwHVirbnUL2/tHpgdMD3wyFMVWhJEKq0tEeVwKMaoPEXyaidWDtHxXydTZcjl2TrtfW1bSVl27h4dK9wph6dw8iqS7aRcoHX2q3rLawUzS4m5xR7W6kPbGXEU7z4acOgsEibedqqAatpr9LqP/wb7aiyR64RchJ7lIMuM7W4H//PfXR3qJWKFvntXZjoc1OSUAek+XfrLowHrCJeqVpf2CpXdlZPE4j598BlZkI81D+5thu9g/Fsf7YvvWq1QJuyfwOyWuCTFRGJIZ+GVtJ2DlQP5gmGPLueyh66Y7JtnY5twvz3a9ajc++MC4ZpOfDegNJ8UGd51EvICpECOh/By08DVVXP2Bei4sKVsWxMCLYBezJm+Yksz56LYMgi3jSnCS8kauocJeqG3W6gN2zu/Sp53+XOMeuCMBOmvg1SmzVJk8eFbPbLNzyBuOQT43EtSMx+HBDEEWjipQ1h5kW/t6QzEWiqlIP1v7A4Zq2PZ4J1JeZwQJUWm4wRtViGzxHz5UvfoNjpThxyJtP1sAfaPSNh47a2ZGpFyD7U6mJYCHGEt9WlvxKMeQhUpVuXgqKzfjJaByl8z9JGm8sJBaYQn2DubJs7lsxOq4k7WutnFTV4uGDzTJr3M4QOL5GSpdIBoxNmm6ofzRxWFzt86qdlD3USF2VSn/61Y2aSjJqrra+nb35RnYpGc94opkIZPGplpHwLNDbyXKOB/6SeUwp8Refwsw8/dxJTA4nJkg1ri0PSYPiH+0dVrTw48f/0meIaNNZ+1kKgJlFZzrg4Rg+D95jSmQmYPDmVu1oxpV/bzuIDhaAmyVAt/nu1mXVxXmzGrEhIROdU8jAksAKm7o5OJoW0bUbeyxz34xAIfG7C6fWRHZq0ktmD37ESzCwsJlvriPocAsoGjwvj319kbeEr9SemAzYmjW2f1ChLLVOBGy5Jsxy3eTOKQIcAvewywGxLYVLwixjNnnjRPZjVI6ZPegiXxvPZIrij1L2qsi6nr8Eq8ctBGFAsAlSYfZsWv+UJFs/nmfBDYv6Lrh9sctVCTLKL/tSUC3pJNmDg7pmWhYb/gIr76cWV0regg26gbU1EkGhNm0fhbGNg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tbmcpRE3zAfWiEGjyWTx/0v1JRqZwFyLlezvLod9gB+OpE6J7PrhSYBl0+vBerkDAytFOzpEkWoYdAr5c7Nr458N8W3I0seu3ebbFoD3AaZdiqs9dcJ2yLicGYM48g81Jjmd2e7/0fXy+IBEk+zAxEjkJVa5tQhdHewC48gbDBmurU2ss4wGbrUJ3FEwqDXfITtWWcNbtmT35f+bUY1l7aPOiqv5nMwxpAYmDlI2ejE4ilOR+K5nJ/1a4fh3nPpy2XUcOjMAM9MYDQabFDEQS3pzESFmkjSwHLR0mFJ5c6quSZAckMwv3AnEqv07G+TqTuylhqzST3MUs34Jugcv0EdEzkKGovAMvYlhxaPIo0iKWAa8tofhF9XScDl0z3LPVQROCD/p+zCRGlS5v4uRdfPPnXxTQRxz2B14ZLxRGPkaq22CCG+d50cPBMAlvO0SWPOQU7VuLO2dpvaB23dwbUgCKAt00YoyWr2KPyjE6a21wn0u/KhglK52ZNX+Lgug/OmFNFjj0It2JjnIVYTWSDSMiFSueDhkjZfMIYGg/VlOQFgrVWVa8tl2vk4ZITp33YNDGSalnQ1P3rNLmy3+FuGKWeNweOBkWFwLxItozeU4hVHiftm/kEF4/XKRAaNSCURsIfr1skoXr0WZJI5DL6s9kwVH/5aGQ6cdqelENfjQOvxwAw/6oPIaiOzQOLC5yqdOTbbWIkAq5rlfwzt+0124LMbQ4mXNH2EaTMto0cKguciwT0jY/BUFHBp7qFJ8hUjCXk5XEEHPxna4agc1g0W9U5QW9sWpU36qpvw28LmmvM6GI2e8JyXke7O840Nzdqjzi7uH0T4+gggMlpVD9EkJCRch41AK3IW1xFTFc/4NyEaN3hRC5SgiQZwFpKkkLLlVQBqPkjZiYzFskYAQhiz+DRngfbuvTWbP2v/5LU3AVWGBh/Ucg/fmvbl7LHtwFNOAhGCcujEQ3/cCqtl/sAel3UHAJwP1pizCkSrbOz1fyMGuMsdgB+xjjAeFgUeCCvnuWOfoBLJ2T/1GuLI/OHPZSTCmZs02VO9lTy/k/tEPd6xWQkSB43wrayBGhVmy3UWL8Wq5mtlu9chjrU1S3WK+PLaf2ZxHM3VT+KC984HhQab2K6oZPtkGoE20ZAGWDTmOUHY/6NPXaLEwV3bJhxrrY/IOwmd/B52OfpD8Zj8m/gHDq2doAbXdVTpf6J9dvxO4LSaBUhsTXucF3mBlUoI6KxTwHo79osWHD7ET8wecxIwTODLPekUOIEzmRmKgFtgclT/F4aLYbo+1YKu83Kq88DZaxrjfc+5iT44MV4db9yyxE7YDxHhkPRL/hevAIUGPiT+ACM8hSsVoaHGrVLAvD1C4c8jwIvckSgBs3CMV7IxrW/YLk7chdcBNvDdKMxWmNwc55uqmyC7A4yZxGneFxZCbIcAxCTwqCB4Xboh5L6I1SzmvJZLvDTJgoCL+FPJb8pzz2WNNe4A9XTyWduF+zB9TGT+8TqsFAdCpehyYRQqrz0I26t8zIoeHGty4rKKOtqABCra9JRA5W812ts+kYpxdIHHk3O5Zw7N5TOCsgQzerMpMYU86x2X/OZczyi5PnPPcJMck/TlIrCy9rg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2494825f-b416-400a-c30a-08dd626b20e5 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:41.1944 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qZct8Ij3IDV/ZYcHdKUAz8usB2/4DtY+EON558Rf5oLl7XmF00M+ba/K8ZNMakcLoFToNYA/ErMRM/W/rbdmFKNSuBxPVo5J2eurPWxk9k4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: t6p0fNgZzA86u_R8VjWj5M5L5FhhpVfA X-Proofpoint-ORIG-GUID: t6p0fNgZzA86u_R8VjWj5M5L5FhhpVfA X-Authority-Analysis: v=2.4 cv=c4erQQ9l c=1 sm=1 tr=0 ts=67d33bc3 cx=c_pps a=ynuEE1Gfdg78pLiovR0MAg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=PtxkKg-d_YREc7Yk-V4A:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Setup Intel Mode Based Execution Control (bit 22) for nested guest, gated on module parameter enablement. Signed-off-by: Jon Kohler --- arch/x86/kvm/vmx/nested.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 931a7361c30f..ce3a6d6dfce7 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -7099,6 +7099,10 @@ static void nested_vmx_setup_secondary_ctls(u32 ept_caps, */ if (cpu_has_vmx_vmfunc()) msrs->vmfunc_controls = VMX_VMFUNC_EPTP_SWITCHING; + + if (enable_pt_guest_exec_control) + msrs->secondary_ctls_high |= + SECONDARY_EXEC_MODE_BASED_EPT_EXEC; } /* From patchwork Thu Mar 13 20:36:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015892 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6C641FC11A; Thu, 13 Mar 2025 20:10:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896660; cv=fail; b=uOwwPyek4DMYvSorahMSkI3OT2NhF74Z5qzwwZ8Pi4O50xzwFrmXydK2ppn5Jz76nmGFJrua+z1jn6gFwxodI6rT427jyQQfxdEI1SE/lx6o8fSKWWBv7gwsC769C0Pd5lbiRLwgU71luUUVDhdyIclYx/MFc9YKkAo6Z5Q1f6A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896660; c=relaxed/simple; bh=fdNlBw9tLvEeU0tB5XJfNZJX2Su+NWmebH6tcKY1jT0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=qKyUa3z2OtJiius05CD4O80abbsZu9nqMtxCJclueYk1EU2JOMjsHiAs1Qn2HD2DFuHy7zymq/esRysYPgg8CGyMeXdE2Qy2Qe2Pfkq3mEunMm/SkSemAb9ajUiPT/7lgIj0e6EkYp6BpkyunUq1RB3ODfwqNHtBhmcErZGCMmI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=kzaNZy2D; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=D2qcfTWG; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="kzaNZy2D"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="D2qcfTWG" Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DEsPiK009012; Thu, 13 Mar 2025 13:10:46 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=nz6J/mgC56zCtUZaLDZ9gn8F02cKqRmlSO5epT3Rh 0Q=; b=kzaNZy2Dpu2phGk6H2MDDVtFs0qLqKuO4bkandDccxv+iSXMQ8uJZb3uj GRSVuf5z1BFgI6izPFJeL0bpc1hE5nZTUh/uEXU1kKLGBkjovidJvGiLm8sYYSAv A0T06OQlweI09kcOuJZnPDfeQCIj5a6ZbzfKjQJ0IMA5X38OFXHME1Fi8Iud+1oA c3uSHvZNcnID1Zzbudig/1ADWVrOJZKtWLippufZqkTfyvxV0oewyMvyy9C81CLj sA401ckm1dWZTb6iC/UPp8el6CElVVijH43codwWoVA/oyXF02ke9p8dieZbJ7c9 HBPOyGlpFqSg6Ykn5aDZpMaXBhYCA== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9g67k2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pIlJ44i7XTDhUhA++7l3XVjxiDO0iCEflzyI7b1V7mVLpq0WA0GLxRHoBzT7mjoNDNI/mEzjJsLbVj1FT9HHXQzJLiLYim6uZcyFpXaRCI6NECVaTIHAJwd37Vpce+OARPgSCYZ00LDID6VDTvOQl7n43lD+rDXPBmx8G+za+NhiXoY9W6PMs7d9Eu1j8L0v6v+jR76IYaBgdHOCIzOHnHhTNJf8XMkgzNsKxQj9ylt0wn4xmzyo1sohkQSiD0xl4DzI4GpfdLYwvaokyZzqmz7DWtCGSFt7SwAWRS55cfiupI73NHaA76AC4hLzGiDo+q9DlQ5HDyjnq05+UCoNQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nz6J/mgC56zCtUZaLDZ9gn8F02cKqRmlSO5epT3Rh0Q=; b=M9K6a1fw/AIq3MaZH+ki2IaFtPjlD5wMr1cjIhG7HlAKQq+LnY0Apv1DzNI875a6OBQoA8PQDdDswSHgtFh7Y5NxG9YUD2SYnD3lgRKpNdMLXgzhHuLQGu8muJw2G8Qb+lRi29SKfpJP8u19roo9lTXCR7FHeiUyZm3FrTyIniI2R5AqsQyrWGVkpnMZqRiXTH1Poubrrg4eASx/DiW9YNHjE02YvT5PqyrxygQRfNjDapuwI8R1sEd8FuTv1bBQY6qZXJjhdGOPbvHIp6MmJQox7ZHVWvhzftQVb2hrE6NsKzGmeaYjI4uSBqRA9YNXylFu2KSuWzMtJh9xjbXt4Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nz6J/mgC56zCtUZaLDZ9gn8F02cKqRmlSO5epT3Rh0Q=; b=D2qcfTWG0Ge6htjZW9exPxSiNSxE4Td4x30Gk63/1c4jOhsj1omYpbNqGupOiRCrbsfjkElPtFpOSrX07mmfYSaaLHmOuEZBgT9CG5W7f1QQbt5t9HVRcR6mQ7vEHQkX8hvzWnAFzCJLu+GCr/vu8E6uuwAvMiLlXXaD+Hiucds4UN/0PKT04cMOwbgCVZRGWqvMKP/2Dke3rJvhlik8fMcj91KR5Me1fJmA9NGw115qzC5VOR0mCwHP8aUsljH0LodglECYUEA4vVemGJibzd5lFcEH229bWmHkkZL0xs1WUOrMpTgMmMDck+1KdOLoFBGKRNKHOxc/kqhLFaFJ9g== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:43 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:43 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Vitaly Kuznetsov Cc: Jon Kohler Subject: [RFC PATCH 17/18] KVM: VMX: Allow MBEC with EVMCS Date: Thu, 13 Mar 2025 13:36:56 -0700 Message-ID: <20250313203702.575156-18-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 854b0607-21f0-45ea-af8e-08dd626b2269 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: U8I9eQbsxJS9kpWFZHsCw3vwrkzZKkiVVtRl7zTdwbO+WeAkDKDnB5nOu9TcaQKy/S6KRYoQwSjorMjs9YobXPuGcin5Db0SMU0JFJOeTD54V3h1mpOZ4IwD2b+uUie9Qm/TEIMY79Q2MKnAsr0sVZgrYTvoWqUb7+V9Z6wSPhfwfImidyL6S3HsPdrXaYED5l5EpEzUgCOYVDYWs9Y33GG4g3Tt4rEEwNDXQ+t4bw9hIVvhuRh6k+WC5W2LzhdhKQd6aV5gchK5/TGYOhWyux4T7Dq4ycKcoLx8EnrImc+zO3xDwNX4BcI+MylXIKY6jgY+vHopZ8esfMwJz+hoIAGhHsDAXxn94QxGgK6ZaaTORdLmNiZmzj2bvUnlqijBkkdES+LmXqNHY3w2lkTBEuYJ7ln6c2Rgylh460pof8unya7MyXIXDxRrcmMWipgRecLKZoN4UzX3KF6ZP4PE+dPmeL+gYUUY7hwlmydx96U9wWf8o1aYstUe+NQfhhNap6zZfovAKeqQvf/GY8CtOsxAfRx/dM+haakJ52IqLMlpkZ01FuoZwI/TWjE0/IKcj8BDpmGC/4eSM1FAQ3zawSdYXq38QSiGr4+hun8pGRWQEwaBxhbSYOP3ojZyJ4htwIE30fzUo8SRtW5V43iY3NX2XJXaMTYJnqpucvA4bGIgQUP+0aqlVuWRYuzsy6SPx9qwvFiMmiG+CEWr4id87gQiJRQfGMhXK8NhIebCerF75GYWn+nSxz3W+3UQu9GWttTFU/KY4/fhKbn3kOOGTAJmMdiL5f/S7WmnghUk6QFwd+3WKsH72lGN96ycz5BTL8RieNIl0/D5+ONtLJFdh5DE5P2ein2q77befnV9SkrAwh487gxsooqp7tfbNYAResOlSgdWTDjVrYl/7Qgzz/ODt+nJvVsV8hp1Hd2DBFv0GNsoC8cnvWgfCIQBUaubopo5TlANOPoaSmxaWMMI13vixocfr4u0ioEAHY3+nNEJLxZ8XZzD4lhwexwu7OT7XOWQywKhf9709/CsiOPQhaI0lwBLeTyyqu5YerP4dPpBH//vBpegw2KqmroDWVD9XYwvkm5VOfsOlaG/3sviXX/36q75kNyQ7W+yFUUs6+9vswTYAy5JbfqS/JQl2ZWLcaEYUZ83gKFWFOGzYtUFzJawHqvHI2WZ1qOV9Jv1BgmqLd6vpqFo7i95g0ksiu2ln5U0oamF4/s0V9OPZ4xdp3t+gCRDujlA3AOaZdwENnuin+iiAXi9+00wzUjrymKvXG1za6cHWdyBIvQ2qh5CKswYFMM7IR/TpOEPDMsMIwoDNbVE1opbPdCaHskeFNSuzwtz0KvrUqBU3AnxVRlsMb+Uf9VmpuvniuxIQWJTHnC395HyK3jaBe5aT/3sWmxJ4KGS46vdtiPLUFpIiTP5N4p+4flmPQT6bo3dgDLpea9rJDAv3Q1GKjrjr6gvbTN5JnStx6p/mKfmboL+cTD/Cw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: TMp6N8NofZZTx6X43LP99klhZdhMeGYAPvr2o5cIiLlyExtAImvPK/JkgwgAEC65Z4fLSaVFXDOGcHqD/7ePuhXsklK7C0EYcqDkSrShn6b6YJe16RId7ENC8yajZrq67XzKbWgFmCFwrCRQ7nb5kiOTaLtY61Azjh9lCvvq3QZbvw1QoDsBuEgXh7uYbnoZTA/f/FdtmPVxEtV3mY0l4Q8RfBQafHqnJ+UKudVE1jRktimySSSmHKTcKsW9gxzU810YOsp0C8nlf2+mwjLrJCQcuOjluaML6af616wvjZGac5B/hx5PqfLcgBFS/jYU5aLebTg+DbaH9pGVuKjp3NYYz9v/V+6FRHaYcfr7FdgPBFEuhrIvLnrZRDIzlCNia2vPRRLcNwvbtg0x7HttdcO+LOdp6VONMLUGDkOduQvBPPoDGqjBDs/RON2LfimKw8G0V/qSeWZw1iMpLWDJL8pPx3U9FVSSPKCPNgFxX6salG9SGUmVqPdrKPpIWnz4Rfc+yNsgl3kjE3+NKUF3uaJnTGpT0JLv+EfqKcqfSrx440OdW4nNwf0rUN8z2dDHEIDV+ypBmr2Z6eZFMdIwpJ201HwiIAPcyaDUH8N2WsLSvpS3/4jzPABTluxmnOlrhneky/vxWgj86+yTy4lR/GJx4hTahrtHRaMM7ja3ec9bu03jkOkN9LvKzW8RGdoC3I3+lNNVtVlkUeK2jgcR/NFmGOulov503JEiSINlS5Tc27NJfSbjJcI6g2fHoCP1ZplnzK9dfwd3l/12v2bYxQiylM1Qp3J7TxWaOnPHp4xM5L4TPej4IWuPLXZNoR8SKdi9nJZLTMaBs5l2cxRO9Yv0LV5x7pSrwxdDB6Q/6UJTnNZ+L3MZi9jhY71uOJe8Pm7NgsrBdW/aiD9fJMXLnevj5/u92MkcksxROfGmMgen/BKn4SjFnNQ9hqQEHaH74Vr7CU/7kn4s8JyQQxmh5FPQhQOZoov+TP0/pl7NlOx0sh1KRBQb7cIcAtCWgS7hHk++L/RmRs4AnTH31lH1YZr96NKxoFdWbsxKj5niD0DhqbyPPiD/EproSChJsfMcj1jyBYV6Mvxgj8Vtk3g+SmrAozENJYTjwX+La6RynPp7AdDmDVP0DdvMWRnrvJ4zrMEur7B1mk0XsXTam3rhQyGiE44cSplA7dsNIJR2CWR2gOx5uQk16AAofeMnKBCYssYnpq0s24++Ijuz9XnWAH+B4rO5Y4cHlMOtayM8fbJbtBnlYgyq2PGZx/F1a+EYcMJarZUsbJYjg0ubsIEu9IAEfkNC5RoPbnVsINKDDG93Y7WE8bo6bdXzwmgOgvwRhIWMQovZmd4Cq5Al2fwlMWPk0FfNLZsJBqYouYHOMp4UpRghJAaKfG2vz/ly/Oc1jYb1rkP1RD24wLa29os/mR03AduGtEGn5tm7bkwD1way8tRilLG8eWfb3iPMFXvnh31Fat6vrDFunqr5GuvCh0qUK4lWlIqAb+JS2jbFmbR2GWB6zn/qkgMxm2BKVsFUmpWk/jYTdmicPSVtGdxNcLyBEB11ubX76Sbs6RCIjyvBBOw7vIeJyCG5k4KIEUQiaXALCDgtgNmvGvwFo0HN6w== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 854b0607-21f0-45ea-af8e-08dd626b2269 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:43.6034 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Y2BAsmgE/mFbXHTErg1Ask7fBp//FIarg29/8UNQoNMX02sr6+v/vFXP6Yk8oxB/7nFCpgpmqEz5H2mCTyMffRJu5vmQB5xJR3alQaioAXM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: hBikA27T06n4MW54lyt79qZgyj6U55ZE X-Proofpoint-ORIG-GUID: hBikA27T06n4MW54lyt79qZgyj6U55ZE X-Authority-Analysis: v=2.4 cv=c4erQQ9l c=1 sm=1 tr=0 ts=67d33bc5 cx=c_pps a=Odf1NfffwWNqZHMsEJ1rEg==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=oo17p7DTFPNWD3L-sCgA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Extend EVMCS1_SUPPORTED_2NDEXEC to understand MBEC enablement, otherwise presenting both EVMCS and MBEC at the same time will disable MBEC presentation into the guest. Signed-off-by: Jon Kohler --- arch/x86/kvm/vmx/hyperv.c | 5 ++++- arch/x86/kvm/vmx/hyperv_evmcs.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/vmx/hyperv.c b/arch/x86/kvm/vmx/hyperv.c index fab6a1ad98dc..941a29c9e667 100644 --- a/arch/x86/kvm/vmx/hyperv.c +++ b/arch/x86/kvm/vmx/hyperv.c @@ -138,7 +138,10 @@ void nested_evmcs_filter_control_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 * ctl_high &= evmcs_get_supported_ctls(EVMCS_EXEC_CTRL); break; case MSR_IA32_VMX_PROCBASED_CTLS2: - ctl_high &= evmcs_get_supported_ctls(EVMCS_2NDEXEC); + supported_ctrls = evmcs_get_supported_ctls(EVMCS_2NDEXEC); + if (!vcpu->arch.pt_guest_exec_control) + supported_ctrls &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC; + ctl_high &= supported_ctrls; break; case MSR_IA32_VMX_TRUE_PINBASED_CTLS: case MSR_IA32_VMX_PINBASED_CTLS: diff --git a/arch/x86/kvm/vmx/hyperv_evmcs.h b/arch/x86/kvm/vmx/hyperv_evmcs.h index a543fccfc574..930429f376f9 100644 --- a/arch/x86/kvm/vmx/hyperv_evmcs.h +++ b/arch/x86/kvm/vmx/hyperv_evmcs.h @@ -87,6 +87,7 @@ SECONDARY_EXEC_PT_CONCEAL_VMX | \ SECONDARY_EXEC_BUS_LOCK_DETECTION | \ SECONDARY_EXEC_NOTIFY_VM_EXITING | \ + SECONDARY_EXEC_MODE_BASED_EPT_EXEC | \ SECONDARY_EXEC_ENCLS_EXITING) #define EVMCS1_SUPPORTED_3RDEXEC (0ULL) From patchwork Thu Mar 13 20:36:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Kohler X-Patchwork-Id: 14015893 Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1CE41FF1C8; Thu, 13 Mar 2025 20:11:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.151.68 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896668; cv=fail; b=YMDOVKrO1SPpLBZ3hIKRAlQA4HJPCFpKsg2aONszGuxg32HzSZZwaqJIBXSTTCwdQkbsFQxWKmII8fooEavN+u9YJVYKAyDuLEg7yeJ5kWckqOPSo9vym+6KoidTCSwknVgY0UCiHvkkpbUKMk+SF9XfFgZCM5YY7ZuFxWrAnIY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741896668; c=relaxed/simple; bh=f99cX+EhE/Fdsi7SZLpFn0ol2oHKrgXKFv+eio4SuVM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=k34oxPLTO/WvluiuYGMZw7hNS9p6toEiFICbaWKddYU64CZ79d8FcMldTNZ/5RwcD/HEBbqdwhzdc3Rxu8ORSJ6dAnaJRGppOgqHMhnwKoAmeFsEboTCybQuNZdBoPK+zxcZUGe3lZTvUV4cnrG5I5O7APEF7qgoWMiQmvlZqRQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com; spf=pass smtp.mailfrom=nutanix.com; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=UKBSfAw6; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b=CuLDaDas; arc=fail smtp.client-ip=148.163.151.68 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nutanix.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nutanix.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="UKBSfAw6"; dkim=pass (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="CuLDaDas" Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DExieF011767; Thu, 13 Mar 2025 13:10:49 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=tu3lmTL7dcI5NcKYuOjj8f7c4QoAe3Uy2duIOQvSB 2c=; b=UKBSfAw6Y0eaFlPHb90lyxmBGLnb5ElNIBCdE+7q85az0gzgnoztEkmOG GZvxNOfntWHuRwK2e3UVtVN929PYWsTiBpK1VNkKDVSvIzUNvy4mBI5uhqIjnjJ8 /VpGz+TlwfYuWWcIlf9+HxVcphUTYRhITTyIjJXUyjDsbme7/nsy799oou93WHbE 8UweDPcCf3bhxBm1hCaCTBY75TrTRiuHNZmicIYpMPy2tGw4Sti9WehM7gym3F+P qMC095qTrQDaJtk+m9xTWyphwD5HF/tpmheY9S9WsBnCwdeFrhRDIlH6E+aXKOzA zfZ9Ek7w+XcPwiXR/jhYRaSJwmO2g== Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2169.outbound.protection.outlook.com [104.47.55.169]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 45au9ge781-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 13 Mar 2025 13:10:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gS/WGdnkFtTbcyM3VrK7mvhVvb2iTgeU6VesSf2BzZvstj63vEWRoY6iilw9npLovf6TPUocaRzmmZrb3Rm2GE2IRxH9Ei34oap3QZqFYUlCdKsxTRKj4mIAX7GqsnWBDh2adALGb7NH1rLd5h9HCWQpyWtiQyU/ZOPDMtAWybWtSDMzc9t2xR3Ws4qi0ZZD3lzlXHrI4RWUyQ0Y0oux8n4PzlCEssdtNev8c4ccHxEYAtcECNoxMZIHbprHkL6uOKCjHszushcubB1XtUYYEEO1SYl8rMszK14rfYTIh/Ogm/GQ+MdDYtcyqeP4rPli0QnkEuseKuhwIetTJfGkFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tu3lmTL7dcI5NcKYuOjj8f7c4QoAe3Uy2duIOQvSB2c=; b=MmqBF7j0/zmU1d76dFr3bo6caAU4vzXGtqZ0v2vnPIpcaPwhTKB64GvFBqlIURvED6vHdg0FpZTSqqcEzJtjB6eEHXYrVEamaNM9HH6JSSI8c7sWF5QDLaMl5qEeDdsnNIsR/cyKDjfufsFJ9kYKFkxP219eM/bkjkPWfaBHYSPt8XDG1tOgk2wmP1mX8BC2rWZIQHLoOGGsXwcdk0yCkk1NZl0B2Ksq8ANdjBd0NFk7LgxyYnuDDV60nA+2UFlsvCitMjV0ZGMO/7q3yXTzK4lWIb7XeqMiRJTNpm6QGCUtvNM4GsxzBBMHUuH/ujZobFdpURAsHIA5u5ojDTMdXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tu3lmTL7dcI5NcKYuOjj8f7c4QoAe3Uy2duIOQvSB2c=; b=CuLDaDasfoxw/zg3ptTKhi+cHHIj6c0UaoWUGz02IhUJg9CYhZp3mu6Zf+vYOLvhWSUNd1Bpvcl1VXj8+f7TduhI2ZNmd7lfH8R7fm+LGPG2hhp/X5uULk8pVQCOBPD8mqgnx8Zw04qN87dSEJfwT/emc4GS30TkGcZ9yvQVNzOQhQHRyoYUTa9GbIbKF5HF+A2RB7OHCX+ysyGs3ZbRl3DYn0wf5Aoce4Aop6PHdsx3z2brfGzCFGjHWSqPwyXEm9aPuRuSTF0LSqzN3UVou8SooI/FL2HJ2EJgk+KR7ABwsKC8Ko5IRAqF8S/0B3wZmidnVo6+DL1fTgaKyN2/XQ== Received: from LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) by SJ2PR02MB10313.namprd02.prod.outlook.com (2603:10b6:a03:56a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.28; Thu, 13 Mar 2025 20:10:47 +0000 Received: from LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054]) by LV8PR02MB10287.namprd02.prod.outlook.com ([fe80::b769:6234:fd94:5054%4]) with mapi id 15.20.8534.028; Thu, 13 Mar 2025 20:10:46 +0000 From: Jon Kohler To: seanjc@google.com, pbonzini@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Jon Kohler Subject: [RFC PATCH 18/18] KVM: x86: Enable module parameter for MBEC Date: Thu, 13 Mar 2025 13:36:57 -0700 Message-ID: <20250313203702.575156-19-jon@nutanix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250313203702.575156-1-jon@nutanix.com> References: <20250313203702.575156-1-jon@nutanix.com> X-ClientProxiedBy: PH8PR02CA0007.namprd02.prod.outlook.com (2603:10b6:510:2d0::18) To LV8PR02MB10287.namprd02.prod.outlook.com (2603:10b6:408:1fa::10) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR02MB10287:EE_|SJ2PR02MB10313:EE_ X-MS-Office365-Filtering-Correlation-Id: 83a05ed9-d71c-42ed-ef2f-08dd626b2446 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|52116014|376014|38350700014|921020; X-Microsoft-Antispam-Message-Info: rW3vvbI6wN51F75VGB/zc3HKWJXq9Pxx8vbiNc8cmP5SvwXUlEw92lBi+bHMzCCfjXB0Tq6jhWAOF6VScm6Y79KwLQ1XFliaMwoALwjsi36ibBGoFsl/+ZlnWTRlDykMmUXXSF+L+7nOwhqY25nNkjHqVOTJdww3uUJqOjvd+ZcLXYsu0dkEHFiGP3XxVQt3cuEOulDbtg5irz+/QKuA1Sa/BBSim+mQyxzDc3OlX3zGYekQdBPrvJeLwQvR97wwYvtTq472D6DGan21itHoEb/5IZKfJj/nGIlNbf1genKHpJ/rnMO0/kFwJQRjDbILXvfk4qE+5PGGJ1tp4jsOVGGS6L0ndhJd9TV2zzEC9n720kUJUEiaPPu3sV2FjsOM0HlMDhgdN40iKX9jLbtWIUNPCf2a0fEDmJJw1Nm8atbBpju88Cv/dxAuaSd/CM14x5L1Xy3CG1oIViqk85LJhld2WiyoZo+WFsrBNKLWA3kVKg/QmNDUMh+SnZhx10MKA/xrMEf0tZq3zXjaEWUUBQOj2wb7+wEYxtkav2K5oh3nzdHz56hjp8wJ3I4NJZmI+3CYHuIXhy69PI1VlMTrBHqQ+UjTWo+pbQfocIbrLHnp2oaLrQPxcIMctn0+haqpw84XvulA8SxF9jp/9tbOkL5yMUN1vGP6+R7EHNB+gD8Pc5sKEpdjGxe2+m9vvlOY8Z/r1srfhXmTNjnul9EEFJeR7mwMHgMs0Q/6u9Xb2q6iQ54sca7Q4OOHSTP6Jho5TpAyvKh5WSM5g6OH+RIjjFwiIpMsT3jt8uDbz2nDTSerZkr8VNAb6axZkryBW8j7ZUr4NZDcRJKuEHfu/7YwKhte8eZlKg37+VJUT4GwkcEb/Qndyvvfku8Ys+Y2o0Ul/+jvaqGs4VxWf63JUFTHDWIg8fGrJGgdgSuYDuor6Axfkj4ymnMk/Xpv79hPDZ6aq7L87ftomBY/fdjDLrP+/Tg5ACmeKCfg0o2jpDkiynNMGbd62N91mow16n31FXm/c1Tgdppk+FPs+b8K350PsXChKjIIxaAwfQQDIatNQQ+9QJJGJ3Nsw6ymnk5Vr4HsjJhPxi2wa0t4OrHtEwrxZlcIrfiyFP7tUIOv56nHAkhn/QUqqibf/XF75yqpYp/UZvjDKlDuvZFzn3ULaihLN88T3b2cYi5/x6+GtJZqm8ywssK3zog2aMNnGWORzePPFQhMxP4PZ4icFNYC+E34/eC3KcFZezuRciwBTNuUIR5RlX8wKrYwSSfl7mAwyWZ7rQEaDFVuoJcfTk9AmPoFsQAXcgcZYYjLgAkzVoILSnZiDF3rkooAJL+1Lxe8niD2pMYCSdnGvPhsQMtxxo5Q6QqdMO3iAfMQemKT88XBgMze5ijLyriYGdhMp/cYh6Pd2SIYX7rylPYVByJzV4Ms5vo/a2llamJDCjlfUk9IMsmVKp1GpYkBmZXzX6tZrZUDVwYBsrNSY6uzVurLdGz1LA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR02MB10287.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(52116014)(376014)(38350700014)(921020);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Ctgz5OiwECuUoFcv87JhZ7r8N/Xqf/opSKnK5x+DpN6BoGJ+jBFzZXUvrCA42elTmtbLRF7obIRi1ykvFmLFmbH2vqbye0wgdnSCjxXy5ESAYavCSwZJBKwRKGPV39W9TukkH2iVFTAG2z2O3Ewn2vNb3SYkDpBC0VTT3v+JX8f7ywJntljhcYfYVxGvesGHIp5Zfdmxagvyg13d5F0pQNLSjDAfk6xycdfLw2/ouHaiPmxpPhXXpCL2e0ZTtSILGM4a8wZg605zGUJ6w5qGuvPlKrnRPKm0nW6v5sxZqCKxVLdySpPCbCU3JuK7VeMkTSz29Lkykdgy5gufO8c3YtYxaWS0AwkZmbtg0oDlDSCi6dATDhBYnGVxNTQY0WEpqQf+vSB+WdqFKvwnFzi+R9Gp9Db8sPZVt+UcC62d+C+bLRsGkjzKxHpvgYvKbMsjRaquWvMUm2QEK6dDjZ15qNLC/mbCRJUa4FtZVb0joVa0D33zak/o2yBKPmF8WKicLe5bJBc9fQ7d/EPSZ9O1LgFCqPEZnipJrJFLPvckffEbDvUTxYtTZoSmN5ExviQgnzhgAJWO70qbQ0R3n24F1vkyJOI5g8AobQfZ576E/lYGYcrl6QxMZ90FDKfaoCqsJIdokgEdh3eJt5eaym1q60oG5lyUt7bX7gfi8zbC8dlIRRKuUg4fL0ZQbdAKBSoIfvtDvr1UJy8JKdPGyl3dUXM/oOfwevPrsIEmgXfAhLLSRdRqHo+opXRsGjEp6mdHGR5KpfHaWb4+vHyuO2JspEFR/J/ltUre/BvDGClMV/0gK/470UUy0Q1TORDq73Vj8AAx3g/F/Fht5L2kdK2Zirf/NVOo9btaRKYFgpb1IB2DNPr5jPDwwzfEOP/kknIb2Bfs8c1M4tcF6op0Bwkekt0YC/H55+F01tZLM01pF/UxfCaLM8uwRAvVFVj5PczfqPeHR2az++CxQab/uG67hQEFD6/lPclBvb0pRN/HMDMZ8e8iIOYwec5pJLgcnt5nPNUD/ContSKiATAqEpUTgDpbmW2t+ruEHAtvzo45qCYlV+hbtpP0QrOofbM+fnTK33IupSENFzlma7ikjJxfCGEsXloud2lboQDz9OaQyAQVRQ1stj7FZxl70PY2FbMKzcL6KSeBKZSq+JWyfnCFTNQSuAB9TMVvFaYQEI9X0yW4azJmCBrgwnkO9gb6QwGPOi0DPCcTuDo7DE6ZtaJ77RmXnbKmgP88/qU/5DJseaWkot75cyvidsOzLQWZsBH5u0GyeZzWAV8TkM3WGdYZ4CIurj2U6EI8SEJaGeAqJVs3CZJD+Q3S8pjdcPs7+euLvdR653D1Z/nrEyRLaGYV7yd05QkxUGw/sNlSxLyaCzm8oRQMJyvImGI4xQ/4PCT9cS1KidXDc76l5IbGtFX7/NIC26PO4uJ68bVDjlIeihJeraB8WVEib+YBQWziuCCYnPvwcPCZAv9I+7M4XdjkgGU0VqkqlP4xyCjCg4L5xsNIKc2w/84dX9iOUOu72tIpzaeb4RVpkctNosWfW3vTu2fDw/59qzPuYHpM6ukGaILSqcIl/ch1g/aJksYaDcx3vAHJ/6Epd+YiW3ikQOwmcA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83a05ed9-d71c-42ed-ef2f-08dd626b2446 X-MS-Exchange-CrossTenant-AuthSource: LV8PR02MB10287.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2025 20:10:46.8605 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: euVoJYtP4Oo5Mg0Rk4v3M3w4j8Pj5PsEYFnnogJDmZarqTLVNfQ42FTpwFGd6Tflgf0wudbSGMLxZ2FTJ/giCBGjPbkuUYflPamoQ9cpuI8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR02MB10313 X-Proofpoint-GUID: G-Q1dyFxgKG4hVMiR1xOEsSalMC4uJuS X-Proofpoint-ORIG-GUID: G-Q1dyFxgKG4hVMiR1xOEsSalMC4uJuS X-Authority-Analysis: v=2.4 cv=P8U6hjAu c=1 sm=1 tr=0 ts=67d33bc9 cx=c_pps a=LxkDbUgDkQmSfly3BTNqMw==:117 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19 a=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=xqWC_Br6kY4A:10 a=Vs1iUdzkB0EA:10 a=H5OGdu5hBBwA:10 a=0kUYKlekyDsA:10 a=64Cc0HZtAAAA:8 a=Dj33CgfsmlbFo73ry38A:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-13_09,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Reason: safe Enable 'enable_pt_guest_exec_control', which will allow user space to control enablement of Intel MBEC by advertising secondary exec control bit 22 to a given vCPU. Signed-off-by: Jon Kohler --- arch/x86/kvm/x86.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 4b2fbb9088ea..607ed2142ce8 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -197,7 +197,7 @@ module_param(eager_page_split, bool, 0644); static bool __read_mostly mitigate_smt_rsb; module_param(mitigate_smt_rsb, bool, 0444); -bool __read_mostly enable_pt_guest_exec_control; +bool __read_mostly enable_pt_guest_exec_control = true; EXPORT_SYMBOL_GPL(enable_pt_guest_exec_control); module_param(enable_pt_guest_exec_control, bool, 0444);