From nobody Mon Feb 9 13:23:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79577+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79577+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 162938192281459.91421792357869; Thu, 19 Aug 2021 07:05:22 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id n40mYY1788612xOWwEjCuF1c; Thu, 19 Aug 2021 07:05:22 -0700 X-Received: from NAM04-DM6-obe.outbound.protection.outlook.com (NAM04-DM6-obe.outbound.protection.outlook.com [40.107.102.54]) by mx.groups.io with SMTP id smtpd.web11.69419.1629381921668066804 for ; Thu, 19 Aug 2021 07:05:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nlaVKGEEA4yF8R5puu4UdRMf+hjkfhh9M27/iszkRAGHxUXwutdRhtf1E2v96xYnMok/ey7t0xfZfv4rN6qjLU2FgunG0GrjcOtLD92JYSfSckR0Hl9M5ayoz76breiAzhrPBNcd2bYc6KAkTJPMEbenG/yZnAGbcdAh3D5JfCuHo3dpsU/T0/9a5DDHeCoNszRThX5nWmsi0ipwjqoUV0I6MkB/dGZ0y51MM6ndb9k1uEarEEMrIIpoy86BmKZns65udRehCkjjEd0lIyblfZO0TcjjHut5+eBc3dnZGSyip3mkeMn6GVMokp5D8B1dW1nb+ZPUQc6U+8+4jWz+UQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MKf+Re/HuJ/+8EVzKQtD1e2k71bFlKQLuVBW77W10KE=; b=LtBGgFzaPh5o+ba89JN1YGb+sPyUtLNB37tuuHU+4AhyNUr56dyolWYot59p5LCerbCzjb8WMqQMBIbHCGvOKDt3ZomLh10ktZqKoxls9TA9hIO1QxdBj72KTQ1Ixh/+ae96loS+9QREORtp4NL/56/ueNrQKpM5nslo3c7ZJk4k6WRmS3iBb55BUunm3YxyZeS9MAuZah4HcUtov1JzGMCv7awNGP7bxVYc6C68jnSGkfcCGMujIj5mx3r9svQ/CHnGLl1g2JXfqYkvGoatBfpnYU1O6ldc0PUjB73z7w1WP3e1peMlME0jjXRN6Bg8bZvRVZ/MLhXujk6ZrL4FFA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) by SN6PR12MB4751.namprd12.prod.outlook.com (2603:10b6:805:df::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Thu, 19 Aug 2021 14:05:15 +0000 X-Received: from SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::491e:2642:bae2:8b73]) by SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::491e:2642:bae2:8b73%7]) with mapi id 15.20.4415.024; Thu, 19 Aug 2021 14:05:15 +0000 From: "Ashish Kalra via groups.io" To: devel@edk2.groups.io Cc: dovmurik@linux.vnet.ibm.com, brijesh.singh@amd.com, tobin@ibm.com, Thomas.Lendacky@amd.com, jejb@linux.ibm.com, erdemaktas@google.com, jiewen.yao@intel.com, min.m.xu@intel.com, jordan.l.justen@intel.com, ard.biesheuvel@arm.com Subject: [edk2-devel] [PATCH v7 4/6] OvmfPkg/VmgExitLib: Encryption state change hypercall support in VC handler Date: Thu, 19 Aug 2021 14:05:04 +0000 Message-Id: <211d9e0624c81262879aa7594483b77c6a87d273.1629380011.git.ashish.kalra@amd.com> In-Reply-To: References: X-ClientProxiedBy: SN1PR12CA0089.namprd12.prod.outlook.com (2603:10b6:802:21::24) To SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from ashkalra_ubuntu_server.amd.com (165.204.77.1) by SN1PR12CA0089.namprd12.prod.outlook.com (2603:10b6:802:21::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19 via Frontend Transport; Thu, 19 Aug 2021 14:05:14 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eeebeb23-dc4e-4abc-c166-08d9631a5e24 X-MS-TrafficTypeDiagnostic: SN6PR12MB4751: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4714; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: 5jXVZGliKZGMZzc+FkHHohr9WgJU53EMYEjzPrcnugTw1Do64DOQKH8gBa+vVjIjepsJxc/VM0WUj+n8SE3DV0cWRYIZz56TjUi9eN0FnLy6+glrsMBhPj1vV5Cgcg9NFcx3CKoN9xrOAQiTLhon+QcmhZlidZWEqPQdYPTlIuKDM4nSPY9XcMPcedSxpTI9NJnBDUF4FAF+uWptNhKG2OP5dJwVkYi1OLjb3HmrX8RTK0vuJvMx+XRHj+kCOE2vkAv6U2PFD1Cdpz9EC2jJhEkNAJIWKB1usQiyOnLldbV6gdZ2kHz+O+vc85EG+YClLnWAXYvWR6eG1IV2r8AWQkJ3SjP9Lu+A8gFAXirLeHVN/OP752jnfVk3smEQw7PROM4PPiYpHIuh9VLMp+AbBYPGTxBG96wlJgFNjSoojQWoM1r0s9UfacoOz+iaOGilCXqRo/AmM13mnUawQ2IrZdePc3AtqA1d/9fUVcAuUARezMNqAJBOgeOi3Efb44x/FZAtIbtJXv46oTTb129/PZ8/f9PCx3I/NbR4dwYVF8EZ75nt/uPN8mPYR7JIUXDgZ8NqZKOxHHwYdWMeAY5/F2lQk+8etTVBb2nApFdhSzIsrxuEaIvxsl3JSWDr1fc4JMPJ5ERZ7lViyWioU2uJtpZx7nPZsRq2IpkBW8hxYHUIOlzjiSmlZkKf6NAtRcF4FiLxC4rGkZcldHrTIS7TIA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4pbKQNJqQx/AczXAR2TfMSZRBoT80USjUOa0K9qV7Vjvu4OzoJ44N0KsxesC?= =?us-ascii?Q?WbknJ0aGQZn1uFwsCGnaVd3Qojpf6FYRYkYeLG8iO16rlxPbjZJKHTnEMoSg?= =?us-ascii?Q?joxQ5dgK47hPd5b1AoaleuHveUddp2sD6e3KdqOLYyvuYiZfzQRLu9CEJSLi?= =?us-ascii?Q?9n7Zb4B42Qu6If6/41eyR86Hsw0KjUp8tzBDK/aoaAsKdQ1NuUP+8C+UeY5g?= =?us-ascii?Q?D6+pa0Yk6xGsgrNsk3Z2jYVAM2hQ0zmia/pY+qSodvL9V+8MIqLllnvUTV8r?= =?us-ascii?Q?Z+Is2Y/d5c9aUeQhMsha4McssVJUNRE0mwH7UuYA1216hGrmQrZ+P6pcTDW2?= =?us-ascii?Q?c3T6u9AL15Xc7B79/t7wckXSkUMWBp7lbVUdsT47OEAe7hOeMDJx37Y+nXw7?= =?us-ascii?Q?MxZN7UKLLpXuZkogl9CjqTwc3OOL70xP/2IVH7XIO7jOZDPM8c66EV0ScShB?= =?us-ascii?Q?kVm9EWxgDgD+cnGjJJIxzNBya+9cNeow1hXgdfi0cikUTcPmNKKrX/szWASx?= =?us-ascii?Q?RQLaV+GC9FCYQCLM7CdHlkhZ5grHF2D26Jgm1N2Inz7UGkse7wcaj1ujuHXq?= =?us-ascii?Q?hiQ07rEIRncAvyZwAlY9yxq6bC9Odau0VA6VZ2IOPhT15NB0i8OpE7w++2AH?= =?us-ascii?Q?SibdtYbQh6FdcnQnrPP2pifu6xbhoXLnsO1dUjjFhsaf0Y8gS7V0VW3pPQ5p?= =?us-ascii?Q?79LaMITaav1WGOanBpqJb8zT+FUV978MSd3OiXXOto5S24wFR+BJVEr6LJcH?= =?us-ascii?Q?KbafVq9nvhoUMSvo3AcXHy1FYQo5skEFeQGdZbw6XjzrhCejybIMUPlaBgnO?= =?us-ascii?Q?8Vedr2Nsha+IhmoJi5rZtleS31RULPjicDYQoMAxlXN/rmdK5CMCrzhTOCVV?= =?us-ascii?Q?wjQslCGPWnY57+fhsAk42cPKXaLkMjfX8gw9cYgrJqSvChhksE7jYi7yDjFJ?= =?us-ascii?Q?SnNQWqQ6qSyk/2hW5ZZmXp/+GsL164Dt0NNGG5b6gJEo7m71e4OastRyyRxS?= =?us-ascii?Q?+/mjEbRsi1E9ycV7k/+aGW/pJzi2tkdFQHSgAp/jlC7Ng4P+SEjaf9nnTR/F?= =?us-ascii?Q?iPXj2PmRaGhnGsjFUW5KqXd4EhjQhBVw2FCrdIlYd/JWGxCJJPYJJp/fI/dI?= =?us-ascii?Q?RnJPFRiLnjqszyoQfn/Wl9wHxc125G8ECC1H8I+SfO437cCpVm3a5kJLJfAs?= =?us-ascii?Q?iFZgBsqYsBf7zLVHwqwN0r9FuiMKCXXLzhvrksfDTu13sB/wTka/bA32J0VT?= =?us-ascii?Q?WZNx1tyJr39hYiJ8LFLiDdai/paDLw5fsyIZxAPgd+mYx9G6tx+J1nCEcykT?= =?us-ascii?Q?mHmmD83jWRAtRSFFxfb0Ey26?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: eeebeb23-dc4e-4abc-c166-08d9631a5e24 X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2767.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Aug 2021 14:05:15.0581 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: y0menupRVY2by8ZRHVDdd4K9U8ery19cWQKqEzt84vQnc7LzYVCbQ8ZWMf95CSTtt56SDc2cqVieq2AOKYbhyQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB4751 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ashish.kalra@amd.com X-Gm-Message-State: S1vdUHXBqEwCYxUT39k8I34ix1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629381922; bh=B56xzL7JCIWWEB4jxXm7f0j7O382jHmyBUUofvYFTb4=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=gWyO0rmQTxARPS9JLxZoYd2XNg1aMVgyNeympfwHu3lAMR4z2jUL08Slb9Vj8gf8xft pQHq5BK2Oc+uWBQEIys6W0bhhSiSNmdwH47sXwyMglrPzP0G2R6vQSpcVrY+2xB+QqV4f xbyfPsKX2PeybXxEt+FGUTGZoH60NgEWuZA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629381956755100001 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ashish Kalra Make the #VC handler aware of the page encryption state change hypercall by adding support to check KVM_HC_MAP_GPA_RANGE hypercall and add the additional register values used by hypercall in the GHCB. Cc: Jordan Justen Cc: Ard Biesheuvel Signed-off-by: Ashish Kalra --- OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c b/OvmfPkg/Librar= y/VmgExitLib/VmgExitVcHandler.c index 41b0c8cc53..2d06343e92 100644 --- a/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c +++ b/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c @@ -1171,6 +1171,19 @@ VmmCallExit ( Ghcb->SaveArea.Cpl =3D (UINT8) (Regs->Cs & 0x3); VmgSetOffsetValid (Ghcb, GhcbCpl); =20 + if (Regs->Rax =3D=3D KVM_HC_MAP_GPA_RANGE) { + // + // KVM_HC_MAP_GPA_RANGE hypercall requires these + // extra registers. + // + Ghcb->SaveArea.Rbx =3D Regs->Rbx; + VmgSetOffsetValid (Ghcb, GhcbRbx); + Ghcb->SaveArea.Rcx =3D Regs->Rcx; + VmgSetOffsetValid (Ghcb, GhcbRcx); + Ghcb->SaveArea.Rdx =3D Regs->Rdx; + VmgSetOffsetValid (Ghcb, GhcbRdx); + } + Status =3D VmgExit (Ghcb, SVM_EXIT_VMMCALL, 0, 0); if (Status !=3D 0) { return Status; --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79577): https://edk2.groups.io/g/devel/message/79577 Mute This Topic: https://groups.io/mt/84997506/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-