From nobody Sun Feb 8 10:30:17 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+60789+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+60789+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1591363692807504.8195410596925; Fri, 5 Jun 2020 06:28:12 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id NmSLYY1788612xVB4EtCK80H; Fri, 05 Jun 2020 06:28:12 -0700 X-Received: from NAM12-DM6-obe.outbound.protection.outlook.com (NAM12-DM6-obe.outbound.protection.outlook.com [40.107.243.55]) by mx.groups.io with SMTP id smtpd.web12.10848.1591363689641075345 for ; Fri, 05 Jun 2020 06:28:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fcwbwLpx/zVCsv9cAr/GrvvSBirAMcBSPs137W8hMrPcqSqXGY+rAlnojOJ6XNGetMpnbCkY2L3vZkhlURF7TzE3vt735V/bp4G7vn87WU7Uv5zrXnHVMDxLnLcdFgUuY3unstYgg1t/bGrZCWemI/fnp1aHR/Pesq1raiN4I+QS2FVTYwZ5YTaTh3glFcI0H2i1vt6MEKUYaHbJFDKDGm4ss/Y+3rBlMiwYYzSdLDwuG6VDGzGyg+0eTpVJd24DGHCYiei9lI/UTMVrbO6xpKwHGceZ6DLv1BpEuzbmu6xyX+rNn/jOueTHdRFHfZUbX5pE67ea4mcp0E3JFgVwsg== 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=H2Zz1+vnzM0rpS70qV8UBVLYNjX+UXaovomk9bi+IP4=; b=e/hl8lTBRVx9s9XpgjoHil8wgADuZR9yg60s1D+FFu+2sT+qIvU9MUUnVvwmfMecR8Wm+br32Knbwuk5JXgyF9YrJE86KVEtgOky8C4QE4vMSUGXydxXOO7RIxzqHPygQddjalvrqNmPPhsPxmmAfsTwwfzRggKgQDA3uDGaX4l2s9Wo0WlC1immdjCods118Lc9XYJhpyfWFsp1f0mR0Nsnn2m0kEUMy7wTbUVEBwkI5UKAbAA/FRDDW+Y9HIW9Gs712fuMExMLDkNXYO10sJEy+huDv1RMp90JX9/ItZf15S/00Ze4Wk180dhlgz/1xD5yAjLgSiecFAlkk2AG7w== 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 DM5PR12MB1355.namprd12.prod.outlook.com (2603:10b6:3:6e::7) by DM5PR12MB1354.namprd12.prod.outlook.com (2603:10b6:3:7a::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.20; Fri, 5 Jun 2020 13:28:08 +0000 X-Received: from DM5PR12MB1355.namprd12.prod.outlook.com ([fe80::4ce1:9947:9681:c8b1]) by DM5PR12MB1355.namprd12.prod.outlook.com ([fe80::4ce1:9947:9681:c8b1%10]) with mapi id 15.20.3066.019; Fri, 5 Jun 2020 13:28:08 +0000 From: "Lendacky, Thomas" To: devel@edk2.groups.io Cc: Brijesh Singh , Ard Biesheuvel , Eric Dong , Jordan Justen , Laszlo Ersek , Liming Gao , Michael D Kinney , Ray Ni Subject: [edk2-devel] [PATCH v9 19/46] OvmfPkg/VmgExitLib: Add support for RDTSC NAE events Date: Fri, 5 Jun 2020 08:27:10 -0500 Message-Id: In-Reply-To: References: X-ClientProxiedBy: DM5PR19CA0060.namprd19.prod.outlook.com (2603:10b6:3:116::22) To DM5PR12MB1355.namprd12.prod.outlook.com (2603:10b6:3:6e::7) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from tlendack-t1.amd.com (165.204.77.1) by DM5PR19CA0060.namprd19.prod.outlook.com (2603:10b6:3:116::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18 via Frontend Transport; Fri, 5 Jun 2020 13:28:07 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4ac76788-3493-4afa-5700-08d8095448d3 X-MS-TrafficTypeDiagnostic: DM5PR12MB1354: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: dNK1tJnaw2Vz+KQ51gaSdt1DnVa2K5z5hT0tXVcv/Se+Z5DNAqxosButL05zvOW/2TTJrxER2CoYQHbO5mTTdFB1NolZ/kfA7xuN8J2TFkYKROTFDrRnehlX7OTsZN3rLmcWLYcyiLXB4N12vvLmwC5D7MEMCf491Nms8Eeudvh0XPADP1cEE8dShjMX+sxP31QVhhjTTVbhlsBsa96pQULZ/mOmfE+swK5FA0R1rX61xNO+B+bxUbJ8f9Vbw2Sp8xDmF5uPwb5oCZBz0BmMDcwty2p/AYMoc85vpiVifMLxs6KMdXpxY+T72iccArt5juWV6pBdXBcskMoc56N4Wl2QFDQUIzoTdPJVv/kRsPoIcx92fmoOGVJiO2rINJ5yvrQMe8Cn1NTVIcNlmdVw9h9dFc06DzdeUdPAeZyuHju8ht2nPPriWa0ycGmlRbpxLTM25y0IfJum4UChyVp+SA== X-MS-Exchange-AntiSpam-MessageData: kKzm3OsLOnFjWpHvOtk0aTPYG+L+iqyaiSUNl5IIzVxc1WpuWxTW1j3yok9sm3+OEddiaSNNiTbfdGGnfPOYcRqCbyMELXyriIch1XDSflCyTNvuR5ZtiwINwFuZ+hQ0Q/SsTT0ibZZaT4LosVI66loaF1+PKZI9lkxy5F0vEGCJ0aJWRwqbFsOqjO8QcLWF1tB0c2pByl2vEEpy+b823S1ihVsiRNaJxa65EKI7igaT+jQJBfFIA340b+uiyjqK3UuJat2TF4+SSLgUhbFebxZ/rvE/mgbgxJTy2eQEc2sgtnVRmI1QgQejLpjl+vvAKJEB4VUFiQwKzqcAJXBQWIrti0MINd1XcRoTZLbPBCHH0aVEQ9i0K5m20UHfUL8iKGCL3c3PhZYLajXC9xCX1VUF6nHeuMRC3ti8OStS9Y2hVFSr23tWLlh014UusndczdtRAIW2iMISIx+HmoilFGY/tyvJsSxZ/wswl5LJZmo= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ac76788-3493-4afa-5700-08d8095448d3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jun 2020 13:28:08.0856 (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: ebZ4uY33JnqPPqFMEEp9Ir8t2VftUYSZ6QYR0xf9zNjHNub1G7JcKNi0/VsrLwBLVlWQ5Wgz2aoc1QllCb5Qhg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1354 Precedence: Bulk List-Unsubscribe: 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,thomas.lendacky@amd.com X-Gm-Message-State: Pa7MmsMLdw4Y9fJTVAf6kOhNx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1591363692; bh=2EZzdIdw44C6078rYcjVb81mk5bSmrJ/t5b4TQzuC5k=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=LnhP4YI+KHPlBr/n2w7BYO18B8pjFPjxd966VXs0As8f5fz9p1o5JVZZz9oP0mcrgNf 5ku3XwkRHafK/XUP5oBZ0jiiOMyPCfRLwXPa2iabjE7ApBh5ZeNRKYjBMvnVHz1Hs2QQw qc6fKRvGqon36f+ADhuMjpxpkMhEEcQrLoQ= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2198 Under SEV-ES, a RDTSC intercept generates a #VC exception. VMGEXIT must be used to allow the hypervisor to handle this intercept. Cc: Jordan Justen Cc: Laszlo Ersek Cc: Ard Biesheuvel Acked-by: Laszlo Ersek Signed-off-by: Tom Lendacky --- OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c b/OvmfPkg/Librar= y/VmgExitLib/VmgExitVcHandler.c index 37c15c4f6240..7cea2e067688 100644 --- a/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c +++ b/OvmfPkg/Library/VmgExitLib/VmgExitVcHandler.c @@ -1219,6 +1219,45 @@ CpuidExit ( return 0; } =20 +/** + Handle a RDTSC event. + + Use the VMGEXIT instruction to handle a RDTSC event. + + @param[in, out] Ghcb Pointer to the Guest-Hypervisor Communi= cation + Block + @param[in, out] Regs x64 processor context + @param[in] InstructionData Instruction parsing context + + @return 0 Event handled successfully + @return Others New exception value to propagate + +**/ +STATIC +UINT64 +RdtscExit ( + IN OUT GHCB *Ghcb, + IN OUT EFI_SYSTEM_CONTEXT_X64 *Regs, + IN SEV_ES_INSTRUCTION_DATA *InstructionData + ) +{ + UINT64 Status; + + Status =3D VmgExit (Ghcb, SVM_EXIT_RDTSC, 0, 0); + if (Status !=3D 0) { + return Status; + } + + if (!GhcbIsRegValid (Ghcb, GhcbRax) || + !GhcbIsRegValid (Ghcb, GhcbRdx)) { + return UnsupportedExit (Ghcb, Regs, InstructionData); + } + Regs->Rax =3D Ghcb->SaveArea.Rax; + Regs->Rdx =3D Ghcb->SaveArea.Rdx; + + return 0; +} + /** Handle a #VC exception. =20 @@ -1263,6 +1302,10 @@ VmgExitHandleVc ( =20 ExitCode =3D Regs->ExceptionData; switch (ExitCode) { + case SVM_EXIT_RDTSC: + NaeExit =3D RdtscExit; + break; + case SVM_EXIT_CPUID: NaeExit =3D CpuidExit; break; --=20 2.27.0 -=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 (#60789): https://edk2.groups.io/g/devel/message/60789 Mute This Topic: https://groups.io/mt/74692430/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-