From nobody Mon Apr 29 11:14:07 2024 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+58521+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+58521+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 1588364279913498.9218619984034; Fri, 1 May 2020 13:17:59 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 5OLNYY1788612x0us0Nd6Zdj; Fri, 01 May 2020 13:17:59 -0700 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com []) by mx.groups.io with SMTP id smtpd.web11.3201.1588364277426705512 for ; Fri, 01 May 2020 13:17:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jCkpxmhNSucVshq+ovvtxB1vOKz5739tXuLop6zud2Xe4T0cepHmYnHOZNZ1Z7qk7Q7anhZ00zoYL3CXIgigm9TxWMKiPDGFwiEzU3XS26tsndUj3qfVLyKAgBHzw3qCLV1EkscIqVSaDPsjFcHzJbSlaHOgQRxa2NZhBF96Oim2kSm7LFcjPx51ydMbjljrsu6vICFpxvHbX7obxHgm04ty7bBzaRSdA3M80IoiM2QsUumd+FF5YQlpj6jAPwfQVAZGGPsrgIMZsleNvaCMXAfFt9pigUZu34NhRSco4L9hmxBRaU6f0JIndCgJmuTaMVupNpg/7s319gtk+W9pjA== 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=Onrv3DpRYhs6SfGqsilE0uKaAi1UGmIpwJrFDry4+rM=; b=cV4hNEmLlPSRGYyZbBaJwZxPqFWWOgG9zYJbyMLbgWcF7P47PzTEzsaurTDjcB/5p/J3/VXk4cUaWBJwsti5WXA2XK8nuOL6eTgLBcVEFu46cOeg8nCmCg8opA87XPRd/IFap3ck2GwB/rPlMqb85PcHeJou6IssBMKlEYgy98blwn1F6mV6v2GaAHHpnpwIDfWXQ3mB6IUzvbfCtjVWg9WdeRP0+T/IOYwhvPdqey1WlJleSQGL7n/X0g5QVCvIefDH2M9TuG3S+Srr02UQ//QXkbAcH5bo1k14LkziUe1nvRdYqQLFAo9AdAiYdYfgWVDIqu43wVeikxdcr/3C2Q== 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 DM5PR12MB1676.namprd12.prod.outlook.com (2603:10b6:4:8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Fri, 1 May 2020 20:17:56 +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.2937.028; Fri, 1 May 2020 20:17:56 +0000 From: "Lendacky, Thomas" To: devel@edk2.groups.io Cc: Jordan Justen , Laszlo Ersek , Ard Biesheuvel , Liming Gao , Eric Dong , Ray Ni , Brijesh Singh , Anthony Perard , Benjamin You , Guo Dong , Julien Grall , Maurice Ma , Andrew Fish Subject: [edk2-devel] [PATCH 1/4] UefiCpuPkg/CpuExceptionHandler: Make XCODE5 changes toolchain specific Date: Fri, 1 May 2020 15:17:38 -0500 Message-Id: <7517ff11143e7a5d81dd2c9f450dce3ffa195b24.1588364261.git.thomas.lendacky@amd.com> In-Reply-To: References: X-ClientProxiedBy: SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) 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 SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Fri, 1 May 2020 20:17:54 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 553f6907-e11d-4dba-6468-08d7ee0cbbed X-MS-TrafficTypeDiagnostic: DM5PR12MB1676:|DM5PR12MB1676: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: IfCe3qaslz9MR+KM3OtkYdiTUdUBJJup2CJAnNu6jUc/9XxM509cz04LinzEMZ4OwGOzT+ByDBw07SOvuaynXuL4slTLpP0ecMm+0qUKxXUta4ke+lUzWALZdP54zXwO0JPmTWblX1G2bOAKI52GRz5n7L3QtKTZLDWHM5YyRabTCrHZ/Erfh5pd9gOo75h1V/xLXt0abqUITgkmfHwU8GJ0493IV7LMTdDWvH3jy2KofljeLolOmhf7mltB5hkZuo88jfVGljFLPU18LtUuTFwXsam4a3021v9xRBfACC5zQTLGup6Md3cjdPUks3PDH2bK72NGOV87g/OE0m+GMtxYqfBRMFbqvOgsIT/lhm3oK7US2Ks9jDchNpJTpWNtjGY/nmOmjbMr2lLTtzlEaua+lZOPgkvViQ7N6bJTMvxAIjRna5oMOkJvMzsJ9dBrH38q5HrpunZ802kkx9txQ2OLH/MjS5jj16K6gb6uyNDdaKSa1VULCrdDxLnXKQzPxy/wnjz8IjTmCgdOfS139OpFzo5wklJhhMrlpnK9utUsYVeKg//eMNA4xFRVj3gj5dANphjRuYtseopY1xNj+g== X-MS-Exchange-AntiSpam-MessageData: cBlYe+00X+dB+MGmvledReNZL5xHGfWifA3kqYYjUAlo3T+GGWlPp9VB//VsBVWRuLAYar4bTfnaHX1H78p2CWHl42bH6ToO6jAw3R5NYiBm7PYNdyBdVGaRL/u5MNBFbgC5kC7YBZeQxhjOrGt7mqZiXrWZkS2o1wbFNpOE1dHSVv6SCI1mUegRZyVhWViTsMFOh2Jjcl2fdIVLXaxSjT/EIXkh/KpK6e9gWl0fXiy6OCMUmnyqcMisOjnrX3lr2Pfxar+9BEGPJEQ+EQ0yBtE5g5ToU67H6oB2wfs1vOd1Fwan0gBzumT6nwq62ufkeeXQXA2WmV9EwMgYTgO3mos4kfw2w5gnLVsuKnZ5PFtgWI+kt2HhNovZYAP53Y90HkhDSVvIdY518R+iTiv10XfhhkPkFjgnEFcwhTiirLD2iYmJj8hQ34rAeN1Im2oWkFJcixRGSBF1FGxTlCTQP8pypKv25qPnVZUNAjVdmcwVfDTn5mv0KmQRF1jwfEvGIEbRXW3h9iqwdvrOGGxj//+xCfI+9NE/1R11MrNW7imw+SyKooKZoVvF4BnQLzIV+1gJyUHXF9uGWf1PaaKEWwduBjErnYNA1ngdjGipcB6baWjN1rOyu9u/HQ0FRAoGIPzFdS86BuPHt6azX6zSsMlOaciwNvK6OYLW9wsw40j3T5NglJSOiocBLXY4j2T5Xb5OmIrbHroOY7LxIGYNQz34RXcK5xbJYfan82ZgkZyB9yB5RIxCrX0YV7LSrB8Y4vJZ6v8ewauDR7cXFQKJ1B+S+tCnO3JbCZoH2rgShZg= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 553f6907-e11d-4dba-6468-08d7ee0cbbed X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 20:17:55.8688 (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: QFjnWhdufn7GBUbGD3dMAWS4p5K5TJXFr3Bp01oPatcamBRDMfoC2XtOm9W9skCwVCI9RUGNWcneVGGXe422PA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1676 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: cv0jnqACnnyIMYrJq9rciWycx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588364279; bh=KqkIOahhFMEbQ26mWes1MeGxDNthbpQVu+bFR9hOl+A=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=SSLmCnD3FsO9W2ZrX0LoyXrV96xEiVku4ahmswEkwRm4G4UQoBeaVn8HDcJqMULemkO CwPBzeLvdX9V/f/62Nixne46mTGcZWu4+QUsnd7r2/04HAtEwsnrChwNj6sq6fXT2nTl7 k0rAs4ja0hay7ht2dUPFkxhV/63FrPMFW5g= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2340 Commit 2db0ccc2d7fe ("UefiCpuPkg: Update CpuExceptionHandlerLib pass XCODE5 tool chain") introduced binary patching into the exception handling support. CPU exception handling is allowed during SEC and this results in binary patching of flash, which should not be done. Separate the changes from commit 2db0ccc2d7fe into an XCODE5 toolchain specific file, Xcode5ExceptionHandlerAsm.nasm, and create new INF files for an XCODE5 version of CpuExceptionHandlerLib. Update the UefiCpuPkg.dsc file to use the new files when the XCODE5 toolchain is used. Cc: Eric Dong Cc: Ray Ni Cc: Laszlo Ersek Cc: Liming Gao Signed-off-by: Tom Lendacky --- UefiCpuPkg/UefiCpuPkg.dsc | 23 + .../Xcode5DxeCpuExceptionHandlerLib.inf | 64 +++ .../Xcode5PeiCpuExceptionHandlerLib.inf | 63 +++ .../Xcode5SecPeiCpuExceptionHandlerLib.inf | 55 +++ .../Xcode5SmmCpuExceptionHandlerLib.inf | 59 +++ .../X64/Xcode5ExceptionHandlerAsm.nasm | 413 ++++++++++++++++++ 6 files changed, 677 insertions(+) create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5DxeCpuE= xceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5PeiCpuE= xceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiC= puExceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SmmCpuE= xceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5Exc= eptionHandlerAsm.nasm diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc index d28cb5cccb52..ad298011232d 100644 --- a/UefiCpuPkg/UefiCpuPkg.dsc +++ b/UefiCpuPkg/UefiCpuPkg.dsc @@ -59,7 +59,11 @@ [LibraryClasses] =20 [LibraryClasses.common.SEC] PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.= inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiC= puExceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf +!endif HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf @@ -73,12 +77,20 @@ [LibraryClasses.common.PEIM] =20 [LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM] PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5P= eiCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.DXE_DRIVER] MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAll= ocationLib.inf HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf RegisterCpuFeaturesLib|UefiCpuPkg/Library/RegisterCpuFeaturesLib/DxeRegi= sterCpuFeaturesLib.inf =20 @@ -86,7 +98,11 @@ [LibraryClasses.common.DXE_SMM_DRIVER] SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableL= ib.inf MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAlloc= ationLib.inf HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= mmCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.UEFI_APPLICATION] UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiA= pplicationEntryPoint.inf @@ -122,10 +138,17 @@ [Components.IA32, Components.X64] UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeaturesLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.i= nf UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf +!else + UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5DxeCpuExceptionHandlerLi= b.inf + UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandle= rLib.inf + UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SmmCpuExceptionHandlerLi= b.inf + UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5PeiCpuExceptionHandlerLi= b.inf +!endif UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5DxeCpuExceptio= nHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5DxeCpuExc= eptionHandlerLib.inf new file mode 100644 index 000000000000..ef37efec6246 --- /dev/null +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5DxeCpuExceptionHandle= rLib.inf @@ -0,0 +1,64 @@ +## @file +# CPU Exception Handler library instance for DXE modules. +# +# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D Xcode5DxeCpuExceptionHandlerLib + MODULE_UNI_FILE =3D DxeCpuExceptionHandlerLib.uni + FILE_GUID =3D B6E9835A-EDCF-4748-98A8-27D3C722E02D + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.1 + LIBRARY_CLASS =3D CpuExceptionHandlerLib|DXE_CORE DXE_D= RIVER UEFI_APPLICATION + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Sources.Ia32] + Ia32/ExceptionHandlerAsm.nasm + Ia32/ExceptionTssEntryAsm.nasm + Ia32/ArchExceptionHandler.c + Ia32/ArchInterruptDefs.h + Ia32/ArchAMDSevVcHandler.c + +[Sources.X64] + X64/Xcode5ExceptionHandlerAsm.nasm + X64/ArchExceptionHandler.c + X64/ArchInterruptDefs.h + X64/ArchAMDSevVcHandler.c + +[Sources.common] + CpuExceptionCommon.h + CpuExceptionCommon.c + PeiDxeSmmCpuException.c + DxeException.c + AMDSevVcHandler.c + AMDSevVcCommon.h + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard + gUefiCpuPkgTokenSpaceGuid.PcdCpuStackSwitchExceptionList + gUefiCpuPkgTokenSpaceGuid.PcdCpuKnownGoodStackSize + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseLib + SerialPortLib + PrintLib + SynchronizationLib + LocalApicLib + PeCoffGetEntryPointLib + MemoryAllocationLib + DebugLib + VmgExitLib diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5PeiCpuExceptio= nHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5PeiCpuExc= eptionHandlerLib.inf new file mode 100644 index 000000000000..830ed1eb8bad --- /dev/null +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5PeiCpuExceptionHandle= rLib.inf @@ -0,0 +1,63 @@ +## @file +# CPU Exception Handler library instance for PEI module. +# +# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D Xcode5PeiCpuExceptionHandlerLib + MODULE_UNI_FILE =3D PeiCpuExceptionHandlerLib.uni + FILE_GUID =3D 980DDA67-44A6-4897-99E6-275290B71F9E + MODULE_TYPE =3D PEIM + VERSION_STRING =3D 1.1 + LIBRARY_CLASS =3D CpuExceptionHandlerLib|PEI_CORE PEIM + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Sources.Ia32] + Ia32/ExceptionHandlerAsm.nasm + Ia32/ExceptionTssEntryAsm.nasm + Ia32/ArchExceptionHandler.c + Ia32/ArchInterruptDefs.h + Ia32/ArchAMDSevVcHandler.c + +[Sources.X64] + X64/Xcode5ExceptionHandlerAsm.nasm + X64/ArchExceptionHandler.c + X64/ArchInterruptDefs.h + X64/ArchAMDSevVcHandler.c + +[Sources.common] + CpuExceptionCommon.h + CpuExceptionCommon.c + PeiCpuException.c + PeiDxeSmmCpuException.c + AMDSevVcHandler.c + AMDSevVcCommon.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseLib + SerialPortLib + PrintLib + LocalApicLib + PeCoffGetEntryPointLib + HobLib + MemoryAllocationLib + SynchronizationLib + VmgExitLib + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard # CONSUMES + diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExcep= tionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPei= CpuExceptionHandlerLib.inf new file mode 100644 index 000000000000..36420be22faa --- /dev/null +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHan= dlerLib.inf @@ -0,0 +1,55 @@ +## @file +# CPU Exception Handler library instance for SEC/PEI modules. +# +# Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D Xcode5SecPeiCpuExceptionHandlerLib + MODULE_UNI_FILE =3D SecPeiCpuExceptionHandlerLib.uni + FILE_GUID =3D CA4BBC99-DFC6-4234-B553-8B6586B7B113 + MODULE_TYPE =3D PEIM + VERSION_STRING =3D 1.1 + LIBRARY_CLASS =3D CpuExceptionHandlerLib|SEC PEI_CORE P= EIM + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Sources.Ia32] + Ia32/ExceptionHandlerAsm.nasm + Ia32/ExceptionTssEntryAsm.nasm + Ia32/ArchExceptionHandler.c + Ia32/ArchInterruptDefs.h + Ia32/ArchAMDSevVcHandler.c + +[Sources.X64] + X64/Xcode5ExceptionHandlerAsm.nasm + X64/ArchExceptionHandler.c + X64/ArchInterruptDefs.h + X64/ArchAMDSevVcHandler.c + +[Sources.common] + CpuExceptionCommon.h + CpuExceptionCommon.c + SecPeiCpuException.c + AMDSevVcHandler.c + AMDSevVcCommon.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseLib + SerialPortLib + PrintLib + LocalApicLib + PeCoffGetEntryPointLib + VmgExitLib diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SmmCpuExceptio= nHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SmmCpuExc= eptionHandlerLib.inf new file mode 100644 index 000000000000..8f71a45c86d5 --- /dev/null +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SmmCpuExceptionHandle= rLib.inf @@ -0,0 +1,59 @@ +## @file +# CPU Exception Handler library instance for SMM modules. +# +# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D Xcode5SmmCpuExceptionHandlerLib + MODULE_UNI_FILE =3D SmmCpuExceptionHandlerLib.uni + FILE_GUID =3D 8D2C439B-3981-42ff-9CE5-1B50ECA502D6 + MODULE_TYPE =3D DXE_SMM_DRIVER + VERSION_STRING =3D 1.1 + LIBRARY_CLASS =3D CpuExceptionHandlerLib|DXE_SMM_DRIVER + +# +# The following information is for reference only and not required by the = build tools. +# +# VALID_ARCHITECTURES =3D IA32 X64 +# + +[Sources.Ia32] + Ia32/ExceptionHandlerAsm.nasm + Ia32/ExceptionTssEntryAsm.nasm + Ia32/ArchExceptionHandler.c + Ia32/ArchInterruptDefs.h + Ia32/ArchAMDSevVcHandler.c + +[Sources.X64] + X64/Xcode5ExceptionHandlerAsm.nasm + X64/ArchExceptionHandler.c + X64/ArchInterruptDefs.h + X64/ArchAMDSevVcHandler.c + +[Sources.common] + CpuExceptionCommon.h + CpuExceptionCommon.c + PeiDxeSmmCpuException.c + SmmException.c + AMDSevVcHandler.c + AMDSevVcCommon.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + UefiCpuPkg/UefiCpuPkg.dec + +[LibraryClasses] + BaseLib + SerialPortLib + PrintLib + SynchronizationLib + LocalApicLib + PeCoffGetEntryPointLib + DebugLib + VmgExitLib + diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionH= andlerAsm.nasm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5Except= ionHandlerAsm.nasm new file mode 100644 index 000000000000..26cae56cc5cf --- /dev/null +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerA= sm.nasm @@ -0,0 +1,413 @@ +;-------------------------------------------------------------------------= ----- ; +; Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; +; Module Name: +; +; ExceptionHandlerAsm.Asm +; +; Abstract: +; +; x64 CPU Exception Handler +; +; Notes: +; +;-------------------------------------------------------------------------= ----- + +; +; CommonExceptionHandler() +; + +%define VC_EXCEPTION 29 + +extern ASM_PFX(mErrorCodeFlag) ; Error code flags for exceptions +extern ASM_PFX(mDoFarReturnFlag) ; Do far return flag +extern ASM_PFX(CommonExceptionHandler) + +SECTION .data + +DEFAULT REL +SECTION .text + +ALIGN 8 + +AsmIdtVectorBegin: +%rep 32 + db 0x6a ; push #VectorNum + db ($ - AsmIdtVectorBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBegi= n) / 32) ; VectorNum + push rax + mov rax, strict qword 0 ; mov rax, ASM_PFX(CommonInterruptE= ntry) + jmp rax +%endrep +AsmIdtVectorEnd: + +HookAfterStubHeaderBegin: + db 0x6a ; push +@VectorNum: + db 0 ; 0 will be fixed + push rax + mov rax, strict qword 0 ; mov rax, HookAfterStubHeaderEnd +JmpAbsoluteAddress: + jmp rax +HookAfterStubHeaderEnd: + mov rax, rsp + and sp, 0xfff0 ; make sure 16-byte aligned for exception c= ontext + sub rsp, 0x18 ; reserve room for filling exception data = later + push rcx + mov rcx, [rax + 8] + bt [ASM_PFX(mErrorCodeFlag)], ecx + jnc .0 + push qword [rsp] ; push additional rcx to make stack al= ignment +.0: + xchg rcx, [rsp] ; restore rcx, save Exception Number in stack + push qword [rax] ; push rax into stack to keep code con= sistence + +;---------------------------------------; +; CommonInterruptEntry ; +;---------------------------------------; +; The follow algorithm is used for the common interrupt routine. +; Entry from each interrupt with a push eax and eax=3Dinterrupt number +; Stack frame would be as follows as specified in IA32 manuals: +; +; +---------------------+ <-- 16-byte aligned ensured by processor +; + Old SS + +; +---------------------+ +; + Old RSP + +; +---------------------+ +; + RFlags + +; +---------------------+ +; + CS + +; +---------------------+ +; + RIP + +; +---------------------+ +; + Error Code + +; +---------------------+ +; + Vector Number + +; +---------------------+ +; + RBP + +; +---------------------+ <-- RBP, 16-byte aligned +; The follow algorithm is used for the common interrupt routine. +global ASM_PFX(CommonInterruptEntry) +ASM_PFX(CommonInterruptEntry): + cli + pop rax + ; + ; All interrupt handlers are invoked through interrupt gates, so + ; IF flag automatically cleared at the entry point + ; + xchg rcx, [rsp] ; Save rcx into stack and save vector number i= nto rcx + and rcx, 0xFF + cmp ecx, 32 ; Intel reserved vector for exceptions? + jae NoErrorCode + bt [ASM_PFX(mErrorCodeFlag)], ecx + jc HasErrorCode + +NoErrorCode: + + ; + ; Push a dummy error code on the stack + ; to maintain coherent stack map + ; + push qword [rsp] + mov qword [rsp + 8], 0 +HasErrorCode: + push rbp + mov rbp, rsp + push 0 ; clear EXCEPTION_HANDLER_CONTEXT.OldIdtHandler + push 0 ; clear EXCEPTION_HANDLER_CONTEXT.ExceptionDataF= lag + + ; + ; Stack: + ; +---------------------+ <-- 16-byte aligned ensured by processor + ; + Old SS + + ; +---------------------+ + ; + Old RSP + + ; +---------------------+ + ; + RFlags + + ; +---------------------+ + ; + CS + + ; +---------------------+ + ; + RIP + + ; +---------------------+ + ; + Error Code + + ; +---------------------+ + ; + RCX / Vector Number + + ; +---------------------+ + ; + RBP + + ; +---------------------+ <-- RBP, 16-byte aligned + ; + + ; + ; Since here the stack pointer is 16-byte aligned, so + ; EFI_FX_SAVE_STATE_X64 of EFI_SYSTEM_CONTEXT_x64 + ; is 16-byte aligned + ; + +;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax; +;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15; + push r15 + push r14 + push r13 + push r12 + push r11 + push r10 + push r9 + push r8 + push rax + push qword [rbp + 8] ; RCX + push rdx + push rbx + push qword [rbp + 48] ; RSP + push qword [rbp] ; RBP + push rsi + push rdi + +;; UINT64 Gs, Fs, Es, Ds, Cs, Ss; insure high 16 bits of each is zero + movzx rax, word [rbp + 56] + push rax ; for ss + movzx rax, word [rbp + 32] + push rax ; for cs + mov rax, ds + push rax + mov rax, es + push rax + mov rax, fs + push rax + mov rax, gs + push rax + + mov [rbp + 8], rcx ; save vector number + +;; UINT64 Rip; + push qword [rbp + 24] + +;; UINT64 Gdtr[2], Idtr[2]; + xor rax, rax + push rax + push rax + sidt [rsp] + mov bx, word [rsp] + mov rax, qword [rsp + 2] + mov qword [rsp], rax + mov word [rsp + 8], bx + + xor rax, rax + push rax + push rax + sgdt [rsp] + mov bx, word [rsp] + mov rax, qword [rsp + 2] + mov qword [rsp], rax + mov word [rsp + 8], bx + +;; UINT64 Ldtr, Tr; + xor rax, rax + str ax + push rax + sldt ax + push rax + +;; UINT64 RFlags; + push qword [rbp + 40] + +;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8; + mov rax, cr8 + push rax + mov rax, cr4 + or rax, 0x208 + mov cr4, rax + push rax + mov rax, cr3 + push rax + mov rax, cr2 + push rax + xor rax, rax + push rax + mov rax, cr0 + push rax + +;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7; + cmp qword [rbp + 8], VC_EXCEPTION + je VcDebugRegs ; For SEV-ES (#VC) Debug registers ignored + + mov rax, dr7 + push rax + mov rax, dr6 + push rax + mov rax, dr3 + push rax + mov rax, dr2 + push rax + mov rax, dr1 + push rax + mov rax, dr0 + push rax + jmp DrFinish + +VcDebugRegs: +;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7 are skipped for #VC to avoid excep= tion recursion + xor rax, rax + push rax + push rax + push rax + push rax + push rax + push rax + +DrFinish: +;; FX_SAVE_STATE_X64 FxSaveState; + sub rsp, 512 + mov rdi, rsp + db 0xf, 0xae, 0x7 ;fxsave [rdi] + +;; UEFI calling convention for x64 requires that Direction flag in EFLAGs = is clear + cld + +;; UINT32 ExceptionData; + push qword [rbp + 16] + +;; Prepare parameter and call + mov rcx, [rbp + 8] + mov rdx, rsp + ; + ; Per X64 calling convention, allocate maximum parameter stack space + ; and make sure RSP is 16-byte aligned + ; + sub rsp, 4 * 8 + 8 + call ASM_PFX(CommonExceptionHandler) + add rsp, 4 * 8 + 8 + + cli +;; UINT64 ExceptionData; + add rsp, 8 + +;; FX_SAVE_STATE_X64 FxSaveState; + + mov rsi, rsp + db 0xf, 0xae, 0xE ; fxrstor [rsi] + add rsp, 512 + +;; UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7; +;; Skip restoration of DRx registers to support in-circuit emualators +;; or debuggers set breakpoint in interrupt/exception context + add rsp, 8 * 6 + +;; UINT64 Cr0, Cr1, Cr2, Cr3, Cr4, Cr8; + pop rax + mov cr0, rax + add rsp, 8 ; not for Cr1 + pop rax + mov cr2, rax + pop rax + mov cr3, rax + pop rax + mov cr4, rax + pop rax + mov cr8, rax + +;; UINT64 RFlags; + pop qword [rbp + 40] + +;; UINT64 Ldtr, Tr; +;; UINT64 Gdtr[2], Idtr[2]; +;; Best not let anyone mess with these particular registers... + add rsp, 48 + +;; UINT64 Rip; + pop qword [rbp + 24] + +;; UINT64 Gs, Fs, Es, Ds, Cs, Ss; + pop rax + ; mov gs, rax ; not for gs + pop rax + ; mov fs, rax ; not for fs + ; (X64 will not use fs and gs, so we do not restore it) + pop rax + mov es, rax + pop rax + mov ds, rax + pop qword [rbp + 32] ; for cs + pop qword [rbp + 56] ; for ss + +;; UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax; +;; UINT64 R8, R9, R10, R11, R12, R13, R14, R15; + pop rdi + pop rsi + add rsp, 8 ; not for rbp + pop qword [rbp + 48] ; for rsp + pop rbx + pop rdx + pop rcx + pop rax + pop r8 + pop r9 + pop r10 + pop r11 + pop r12 + pop r13 + pop r14 + pop r15 + + mov rsp, rbp + pop rbp + add rsp, 16 + cmp qword [rsp - 32], 0 ; check EXCEPTION_HANDLER_CONTEXT.OldIdtH= andler + jz DoReturn + cmp qword [rsp - 40], 1 ; check EXCEPTION_HANDLER_CONTEXT.Excepti= onDataFlag + jz ErrorCode + jmp qword [rsp - 32] +ErrorCode: + sub rsp, 8 + jmp qword [rsp - 24] + +DoReturn: + cmp qword [ASM_PFX(mDoFarReturnFlag)], 0 ; Check if need to do f= ar return instead of IRET + jz DoIret + push rax + mov rax, rsp ; save old RSP to rax + mov rsp, [rsp + 0x20] + push qword [rax + 0x10] ; save CS in new location + push qword [rax + 0x8] ; save EIP in new location + push qword [rax + 0x18] ; save EFLAGS in new location + mov rax, [rax] ; restore rax + popfq ; restore EFLAGS + DB 0x48 ; prefix to composite "retq" with next "ret= f" + retf ; far return +DoIret: + iretq + +;-------------------------------------------------------------------------= ------------ +; GetTemplateAddressMap (&AddressMap); +;-------------------------------------------------------------------------= ------------ +; comments here for definition of address map +global ASM_PFX(AsmGetTemplateAddressMap) +ASM_PFX(AsmGetTemplateAddressMap): + lea rax, [AsmIdtVectorBegin] + mov qword [rcx], rax + mov qword [rcx + 0x8], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 + lea rax, [HookAfterStubHeaderBegin] + mov qword [rcx + 0x10], rax + +; Fix up CommonInterruptEntry address + lea rax, [ASM_PFX(CommonInterruptEntry)] + lea rcx, [AsmIdtVectorBegin] +%rep 32 + mov qword [rcx + (JmpAbsoluteAddress - 8 - HookAfterStubHeaderBegin= )], rax + add rcx, (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 +%endrep +; Fix up HookAfterStubHeaderEnd + lea rax, [HookAfterStubHeaderEnd] + lea rcx, [JmpAbsoluteAddress] + mov qword [rcx - 8], rax + + ret + +;-------------------------------------------------------------------------= ------------ +; AsmVectorNumFixup (*NewVectorAddr, VectorNum, *OldVectorAddr); +;-------------------------------------------------------------------------= ------------ +global ASM_PFX(AsmVectorNumFixup) +ASM_PFX(AsmVectorNumFixup): + mov rax, rdx + mov [rcx + (@VectorNum - HookAfterStubHeaderBegin)], al + ret + --=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 (#58521): https://edk2.groups.io/g/devel/message/58521 Mute This Topic: https://groups.io/mt/73406888/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- From nobody Mon Apr 29 11:14:07 2024 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+58522+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+58522+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 1588364280410360.6805016313157; Fri, 1 May 2020 13:18:00 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id pHlJYY1788612xqwqHGAWEGJ; Fri, 01 May 2020 13:18:00 -0700 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com []) by mx.groups.io with SMTP id smtpd.web11.3201.1588364277426705512 for ; Fri, 01 May 2020 13:17:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kuIKoKSPFgyU8xW19TBTC0tPwrB8g6bKP8bBHpSxKxlX4uFZJcvHf97ex5PDR4owpWlKdOC5rB95UHEznpqvC0euGF0dMvBf6EqSKQkYyXxZoMGAqN2tS2GNggO32b/jqtMGvH8MZ2Q6VtsMbmVLgZgQ51fWEu474vtYXfxE8RchKubxVmWlqPDRDpcgK5rjuTpRlXgw0C4TsYa/aF13V0iIg3NBfsDxtT4bYXPWZIY4U1MPYDufDdOTmAL47XlGBUlkUcgfPyMXH9h0yDTF0jLbBHmISnoFRfyzZN9rc1NMZrUaaqYNpQ1EGNdjWpP2RTPbpsZh0zdF8FM3EzZlTA== 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=gIOUr7CmUVmdI3y29x7feEdU35RPAjN6XgWd7XEU8AQ=; b=jcN5yeuRx9yO2mvPqIwo3YXeZPiAwTtPziSmNYmbeXuCHEzT5xUBo06jR7d+HYW8LH7//JPcKjxQWMU+/jY1Ie5idl9lBYeZ2fagqn20a2feAii+aUNkC04FYITu+F4b7t09/gY+4PHPT/xLC+9OBzSmHusoi4FDjShT++g4nxrUeWmeaOYdcP60GuWr67T02itWUBQx0FZNLBWBD7EEFHlErrSlFVCuUfSiC0iYHIw1V2LFkBDzQoPLY36ylyiI6dkykUxd5E8rEunDf8/MdBLKjrPmTDubuUqHC5h/WegC42lnBg3X84mNBl0GbJaBiytCSwNqgD3b5TeQwl9q1w== 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 DM5PR12MB1676.namprd12.prod.outlook.com (2603:10b6:4:8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Fri, 1 May 2020 20:17:57 +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.2937.028; Fri, 1 May 2020 20:17:57 +0000 From: "Lendacky, Thomas" To: devel@edk2.groups.io Cc: Jordan Justen , Laszlo Ersek , Ard Biesheuvel , Liming Gao , Eric Dong , Ray Ni , Brijesh Singh , Anthony Perard , Benjamin You , Guo Dong , Julien Grall , Maurice Ma , Andrew Fish Subject: [edk2-devel] [PATCH 2/4] UefiPayloadPkg: Use toolchain appropriate CpuExceptionHandlerLib Date: Fri, 1 May 2020 15:17:39 -0500 Message-Id: In-Reply-To: References: X-ClientProxiedBy: SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) 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 SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Fri, 1 May 2020 20:17:56 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 9000cd10-34c5-4f2d-5909-08d7ee0cbcac X-MS-TrafficTypeDiagnostic: DM5PR12MB1676:|DM5PR12MB1676: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1468; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: jKcBuqieF14Z3HWx4YkTtAgU5etaMh+fEPeXDgedVk6wY6LAUYDRrjXbwbMB8DGE/r09GJmbjV8Viz9vFXUpXqiPG6Y//Dt1+E7+jntWctYY0vZFXNwrnpUoapaR36lu8GkqdLx/XG4qPnMNtNXe1FgVqhyd5ME62a11Pev7zFEbEcc5jr9/q6djutfnYQCjZ1lIxvK7nWaeHKdF4DXuox9TdIPiJLKZoKnUXMpgvBM8DXQ5QD7yGyoDjlZqDMULzURLuJvq309Og9Hg7FqsxLyrKx3V+x4MTlZ1e4t+Hiftu5T1Y1BZ6BbLYKqrclXxCkeKvTNeUy8ud6b9/HZDAO/+4ZQ3SDZmtlDJZpIsNSmEvJ9QAHlDJAn7Z1GVFjKz6nAhK/tPEMT5rX1k3T0iVusZ2EuPa/pQ5rAnbaiPf8esYCMiRpIVoWSJbOd5J3lEsiIwIgeGudrAZdojm2aKkquvkDfjeUhsVWT4rmg0Uj/fsQEZiA/qd0wfXFKN7saqkzckqhgnN+rqmVhbNZ+aO0fqg+mLta5X+jikpNE2KfUttfbnk1j7U7KyYaRh6II4x9kL9QIlXRcpHjlJ4EPb2g== X-MS-Exchange-AntiSpam-MessageData: isVW6qqCupVrTOxot5e6/h9l/FYOqES0shj/RaSkRsEKu6nEJskRLrnrnOZu/BpOxldBRXaG5f6KjyWSz6Ws918BjUTWbBIozX9fQqbp2H5BFBaVCpbhuenbGyD029DCKPu+iu6z/hJqnBhAaVsEMlUkb00RHsJPdBJ1nmRrc8go96byJvmoHPvmQ0pxslQoCaQg7tkV4vKh95o5QawtyYrh/o0K1GRwrTXkfhtKBs7ssHYNhPjRIhh0ltriAUu9n+Qlnz5px6CGG70SNEX6Iygd3pSdknOj2D1l9uS6RUbyCzfJItUG8e2MP/gkBZICbX9XOZjCUCryIAZIwb2oDqvMwvCw/rlyAMmfHe72bO/PaCe69gPPPkY3Rw/NjquOlk7Q7jbh7JYMXu8zmwcOGbolrcUOvbq1dPuKpmunLLM/rJC39JC8Rua9xp/aPUJG1JVwZsF7HHFA3SLnGjpdplIzs9wd8k3BEQ5PitcuYTmaGmh9qUIDOTIgnnMx8AYhlZ+BLofzCYlZnJ5FpYz+yC1IubEdiYEwTHs1chhPzKsC+woOxQra6R+lccSdtaHx5mJFCU7Tgu/eThbRPlkW8Z8bvou8z4d6P7BCuq5FtjXd+MhoMJ0A6G9Hb7exe0RAHEkEgB7Id5vKKMxEoucJpYKbKn2OYIax5Pd5nZhrS6npwgyW0vxLw3St65EPDYpiZS11/wskL7KUBK+LQfXyPWFxhbLqAX27IERDiba5hg4Y1qzOxq1sTyYEqAGgC2Vue98XCI5vXuLeMXIn9cVNp6+TlpDFHeOf5zxZhFPOk04= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9000cd10-34c5-4f2d-5909-08d7ee0cbcac X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 20:17:57.1223 (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: PBzyQeRhYjAQFQ5v33p6SOSWgwp+Fh2jb//tKE9XsULvYvS+9abOXBbWWY/qiA8B9AtXbG3LEkoMmiZ7Ks3dxg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1676 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: e7aaxMSOVudLgBIhuqjGnZIKx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588364280; bh=sf0/ujZPM7UU+M+bBhudYkggk1qoIpd5jYFiKCkQYqQ=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=RePgBQmEn+oqeyOq15VNtCZuIVxBESTVlUx7QEbBbOOT+H2Fl36sb2t/a7+NXWXBgmF U3AlWnIg1krnI6MZ6PUnT6nZnHkv8Au715CYcO1+CYZXrq0vLRBDIo2VMsAHMRwum2AE/ iq2GQ5PIastJPINp2lxxN3vWXG+iXE67lH0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2340 Use the XCODE5 CpuExceptionHandlerLib library in place of the standard library when building with the XCODE5 toolchain. The XCODE5 version of the library performs binary patching and should only be used when building with the XCODE5 toolchain. Cc: Maurice Ma Cc: Guo Dong Cc: Benjamin You Cc: Liming Gao Signed-off-by: Tom Lendacky --- UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc b/UefiPayloadPkg/UefiPay= loadPkgIa32.dsc index d52945442e0e..2bf7aafd8c77 100644 --- a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc +++ b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc @@ -232,7 +232,11 @@ [LibraryClasses.common.DXE_CORE] !if $(SOURCE_DEBUG_ENABLE) DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.DXE_DRIVER] PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf @@ -243,7 +247,11 @@ [LibraryClasses.common.DXE_DRIVER] !if $(SOURCE_DEBUG_ENABLE) DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf =20 [LibraryClasses.common.DXE_RUNTIME_DRIVER] --=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 (#58522): https://edk2.groups.io/g/devel/message/58522 Mute This Topic: https://groups.io/mt/73406889/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- From nobody Mon Apr 29 11:14:07 2024 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+58523+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+58523+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 1588364281399684.2990370075076; Fri, 1 May 2020 13:18:01 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id CA10YY1788612xWWQVfMileA; Fri, 01 May 2020 13:18:01 -0700 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.72]) by mx.groups.io with SMTP id smtpd.web10.3240.1588364280463877175 for ; Fri, 01 May 2020 13:18:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VseUKX+tI7mDEREXS/sexJXW0y7F4H3zEEwFGZBNADrUxG7tOAAN4ZU9FrnBicvOOdSlpbuouszQPjV51VUar6Lo9+X0af/wSnpNEOoSQf249FjJNKYKGgPw/OtrUYOB9Xz8gdn5Mw9cZOe6vZBu02EeCyJ+NAD0Hv8XS6PTuxiVnS2WQT8sB9JwefZP0c4QSmF/tdoUCtpdwyzxtGw/fFxmRAnuWDzogpptmezfNvqEc8ySp47qtK1UhxduSQ6HVyAAw/VWvrw3YEFwg61jDFG3sqstJUrsp86ju3MVtjTQvYt8E94hM7QZneNl60CcUa4T39rLnGM7d9SxBSLGGg== 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=8WWrmnwJH2GV3dQNYwixTkZ0nwLm86xhYI0osfJPjj8=; b=VPD3gQKXPHoZKLoEct9q/SB2o1ZpIPnsxJwd3DDo0IEwiNh1ZyJn75B0TXBUIOwxcQ9WNg0DkFnqFmTw4DEXhAphv3CuO1rxhgkQUtUpl2sk4vgD0qw3D8S9Qk/jJ0pavbmgFlmSgeqtqb/c6K0MIKnwFabErL4bpT884xtKW42DcbatYqCLv+ADq4Y5fSN7fAV4nU54PRxkMtxhlnRuODGgNB+uZYxuYU7HcToLr5mxgBi/3HAOHZDda8croIjW6yFnlAYu+mGBnYTuLLxrYeexYam2w/ZixdvHCtU+qygGQACPZt5gbMGT5QtcKm5rcwB0Hb/k6eS03eHHM2hqfQ== 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 DM5PR12MB1676.namprd12.prod.outlook.com (2603:10b6:4:8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Fri, 1 May 2020 20:17:58 +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.2937.028; Fri, 1 May 2020 20:17:58 +0000 From: "Lendacky, Thomas" To: devel@edk2.groups.io Cc: Jordan Justen , Laszlo Ersek , Ard Biesheuvel , Liming Gao , Eric Dong , Ray Ni , Brijesh Singh , Anthony Perard , Benjamin You , Guo Dong , Julien Grall , Maurice Ma , Andrew Fish , Ard Biesheuvel Subject: [edk2-devel] [PATCH 3/4] OvmfPkg: Use toolchain appropriate CpuExceptionHandlerLib Date: Fri, 1 May 2020 15:17:40 -0500 Message-Id: <6f8347c43bd5c8641397c66ba59b56bb81869da3.1588364261.git.thomas.lendacky@amd.com> In-Reply-To: References: X-ClientProxiedBy: SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) 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 SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Fri, 1 May 2020 20:17:57 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 480e9d9b-2d0b-424f-9fd2-08d7ee0cbd72 X-MS-TrafficTypeDiagnostic: DM5PR12MB1676:|DM5PR12MB1676: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5236; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: R3WFwHOAlH9qXJca65IcNKf+v5wEFiAw48nT2hMY+ppxu22lvyJp/Ytg7+WR6GNcTS1/b5x2BkYnIoeK1wlv3uhEIspz82We12MaBCd5k7mAjQz66QNbdWNGnlA2w7g/P8AZ4jRhDFRrqVTcVKyU2LGgURIwN7vaneLPWO5APoZK0njIwzkqs2l0NeLYHw7J6u9+LFdAdSkPYbnlKdmmT0l0PbG301pQ6VPQEYjQoH379b48pKkG+Vz2eWa/XbGTMhGnjIt6UMzCcVFUwhlS0D0Cdv0jHYwX+uzlUrTCX2m/2cCe/ABRTqTUaNWptKF6UsiN7LzyCsuw9rSN7LjF8A5jNnptYRRIFTaZuvIACgERJnsbdciI4oPdiuu6NHrer+DmwAwgoHVg7C2EjZz45yubsUTZOU+PG/hyR90maz8tKuufsz2O/JFHXtDyApI73+MfWXHndYaw9LcAyBKyg9Y+yPByNvAAYX0W4ZIAeN8OxTkfu061KfK5SvtTZ/3PcOBjnfK6BMHUSQfUneVl5qBUNYfm1ukyQX3pG5lb85nLpWsaG7eaxj1Y84R8JFtAlzMtksfVM1BaZTxKz8fiPA== X-MS-Exchange-AntiSpam-MessageData: rY6Fyzrb+tm2vbJC/GAJA2bfKEjIhQ0rbVBF2g4rVC2dezzWsIT5mVLbsdMIaLRUdvtec/XPp9p13dNr/HntZuOaHYXwkLYtB6CBmZEJMWlHoSco9weGbnWOM8+rtOntlxcJ3KmvIjmN1468YSYCBva6Sij4FxVVeli0ka04PB1QkdSfzeiIpAcUSMadbZe6gUa02fDarR7VVWvRMZxcv60y+UkqTwHoMoKaDLXHt0LeEf8Ge8TIAb0adKCv2rSOxTEcsbUb0+WrR5Az06aT5u5S+D/Zq7YeLPwLhU108jAfMYpMRGI1phg9AIRPVMSDk2XlTON1eGgrPRSDBKYm0Xx+l0WySJ1fYwnxLPNfBjpmS942tkiUcnYUnjPEt86vlRk/341FAWJrHqL3QbiC+mGW+XC6yHCYT6sAb+QaUyLuOvcrW3skySt4NbsJjdC/+DnB8mT6xJTzMuVh78u0AaQ96djXbl8rISs9BilRZ0edTTpMkNSt3Gc1K062Pv3lbiIPWNtYKgtq1rMk2SBmErj0g8Owx6T0g65zDcmIBHKqPLoHwdm200CG7wGJhDA1h6xo9+CjtJ4g0NYd2oSbxNbNRv0lfcwuta3ZGU3nnDuQuJDqApZx8oEHuLoUdUtoo26CTwZHyOPvPorIyYdMBvKiEQafu7vtYUfyFPmkCYZ26IL/Oo0gzRVGJd7ws69EVRYCnK5suRQKPfiNDvsqsK0BwX1NNbsOi057yPM0dlgjHN4dCmGmxZG1OeYYyUIJ5DTo5hK+bLfRi3Herl4GnIUjnLcNqjt2PefF1h1kbBE= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 480e9d9b-2d0b-424f-9fd2-08d7ee0cbd72 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 20:17:58.3757 (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: 6WoY3IKd8SHAtTgHRN30NMaO5sGrDhbQyQCtEqhcIczXZEBOdYlArNUs5uNqrWYd6G9A8new1foYhLJ2movxRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1676 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: fux0KhjHONX7bsd1E46IhE9bx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588364281; bh=hW7AuNhJhdeZBufYhWGlXhlcjUi7ogSSPQlDZ7x0eN0=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=DzMaNjFQaFVfGyxLZPQ6oOwAe1Z2WeDCAUKiD4WU6//1S/kCqhqEbQEtr4H2C2Mu3IK MboE+pG48nsaD/VtaaadK08zp2vqfzSAFOUzGVO5C3eZGRElGpLHHJsIYkunsxralisyG o+30eLgJn5kV6v3WGwOkjMarkVwiEOhNyVM= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2340 Use the XCODE5 CpuExceptionHandlerLib library in place of the standard library when building with the XCODE5 toolchain. The XCODE5 version of the library performs binary patching and should only be used when building with the XCODE5 toolchain. Cc: Jordan Justen Cc: Laszlo Ersek Cc: Ard Biesheuvel Cc: Anthony Perard Cc: Julien Grall Cc: Liming Gao Signed-off-by: Tom Lendacky --- OvmfPkg/OvmfPkgIa32.dsc | 20 ++++++++++++++++++++ OvmfPkg/OvmfPkgIa32X64.dsc | 20 ++++++++++++++++++++ OvmfPkg/OvmfPkgX64.dsc | 20 ++++++++++++++++++++ OvmfPkg/OvmfXen.dsc | 16 ++++++++++++++++ 4 files changed, 76 insertions(+) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index fcd9779b5ba2..f27fcd7e1087 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -245,7 +245,11 @@ [LibraryClasses.common.SEC] PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiC= puExceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.PEI_CORE] HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf @@ -283,7 +287,11 @@ [LibraryClasses.common.PEIM] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib= .inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5P= eiCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf @@ -309,7 +317,11 @@ [LibraryClasses.common.DXE_CORE] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf =20 [LibraryClasses.common.DXE_RUNTIME_DRIVER] @@ -362,7 +374,11 @@ [LibraryClasses.common.DXE_DRIVER] PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBo= otManagerLib.inf PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrin= tScLib.inf QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif !if $(SMM_REQUIRE) =3D=3D TRUE LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf !else @@ -413,7 +429,11 @@ [LibraryClasses.common.DXE_SMM_DRIVER] !else DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.i= nf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= mmCpuExceptionHandlerLib.inf +!endif !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf !endif diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index 1626d2415a2c..0d3c3559d15f 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -249,7 +249,11 @@ [LibraryClasses.common.SEC] PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiC= puExceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.PEI_CORE] HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf @@ -287,7 +291,11 @@ [LibraryClasses.common.PEIM] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib= .inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5P= eiCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf @@ -313,7 +321,11 @@ [LibraryClasses.common.DXE_CORE] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf =20 [LibraryClasses.common.DXE_RUNTIME_DRIVER] @@ -366,7 +378,11 @@ [LibraryClasses.common.DXE_DRIVER] PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBo= otManagerLib.inf PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrin= tScLib.inf QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif !if $(SMM_REQUIRE) =3D=3D TRUE LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf !else @@ -417,7 +433,11 @@ [LibraryClasses.common.DXE_SMM_DRIVER] !else DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.i= nf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= mmCpuExceptionHandlerLib.inf +!endif !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf !endif diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 65cfe957761b..c713e65db6f7 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -249,7 +249,11 @@ [LibraryClasses.common.SEC] PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiC= puExceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.PEI_CORE] HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf @@ -287,7 +291,11 @@ [LibraryClasses.common.PEIM] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib= .inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5P= eiCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf @@ -313,7 +321,11 @@ [LibraryClasses.common.DXE_CORE] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf =20 [LibraryClasses.common.DXE_RUNTIME_DRIVER] @@ -366,7 +378,11 @@ [LibraryClasses.common.DXE_DRIVER] PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBo= otManagerLib.inf PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrin= tScLib.inf QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif !if $(SMM_REQUIRE) =3D=3D TRUE LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf !else @@ -417,7 +433,11 @@ [LibraryClasses.common.DXE_SMM_DRIVER] !else DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.i= nf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= mmCpuExceptionHandlerLib.inf +!endif !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf !endif diff --git a/OvmfPkg/OvmfXen.dsc b/OvmfPkg/OvmfXen.dsc index 8b3615e0b07e..4f1a4f7980a3 100644 --- a/OvmfPkg/OvmfXen.dsc +++ b/OvmfPkg/OvmfXen.dsc @@ -228,7 +228,11 @@ [LibraryClasses.common.SEC] PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/= PeiServicesTablePointerLibIdt.inf MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAlloc= ationLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiC= puExceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5S= ecPeiCpuExceptionHandlerLib.inf +!endif =20 [LibraryClasses.common.PEI_CORE] HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf @@ -256,7 +260,11 @@ [LibraryClasses.common.PEIM] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib= .inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5P= eiCpuExceptionHandlerLib.inf +!endif MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/PeiQemuFwCfgS3LibFwCfg.inf PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf @@ -271,7 +279,11 @@ [LibraryClasses.common.DXE_CORE] !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !endif +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf =20 [LibraryClasses.common.DXE_RUNTIME_DRIVER] @@ -306,7 +318,11 @@ [LibraryClasses.common.DXE_DRIVER] PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBo= otManagerLib.inf PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrin= tScLib.inf QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf +!if $(TOOL_CHAIN_TAG) !=3D "XCODE5" CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf +!else + CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5D= xeCpuExceptionHandlerLib.inf +!endif LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf !if $(SOURCE_DEBUG_ENABLE) =3D=3D TRUE DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf --=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 (#58523): https://edk2.groups.io/g/devel/message/58523 Mute This Topic: https://groups.io/mt/73406890/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- From nobody Mon Apr 29 11:14:07 2024 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+58524+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+58524+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 158836428229116.503798732329074; Fri, 1 May 2020 13:18:02 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id JFdSYY1788612xw96xhFaiXy; Fri, 01 May 2020 13:18:01 -0700 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.75]) by mx.groups.io with SMTP id smtpd.web11.3204.1588364281324772684 for ; Fri, 01 May 2020 13:18:01 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DOOIE6ZyCPhmU1WKEwp2JR1AWYB8U9LiZhJ+SniLRdDi1ZMCUkK8EONCadJ6pxmtrH890ND0iPu5czUkjqqTEUa+CZPj1i5Olovm8xyZmNWAntJX79jp+VugWE5zpHQ/yCPBFI37ovAVgLbSN1aJgxCkD7Fyy6agc4KC/Art4cBDObH0tI9Kl+TQM8Kt5oaDpEF7L6ii/hhHY0zHybP6lTAMZDKQaYovTO3EMEv2DVIV6/85bOv7875t36ljto/QfzsxEVGi+5nTRN5wvGuuuGYiz436xCx6yEBTkjSo1c3Th2WU2WuBb8fLUu8ISShZ+88ckr6he9Zx4tTQAn5AvA== 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=5uaoB4wGeuBb1pzLFBZ0smQWYTAl2gA/fuYFTpa4nAs=; b=F9ndridZU9T0IA+cz0l6JxdN0oOJf3jUR9NQVT+wiXchZIPWdyP4e/glM+8SThXXy6maBQtlluNxnQ4smelKyt4qkD5lmHV475U5APV9ePp/2jscjV1RE41R+3l8hmr/xTSeJWcmhsiyPluDc2JSbdJSm9jkTHpqT8mIhdjpuL4s4LdTnhvc0LGTxe0NqDhBFdyBja1gyg+BuKl5JUxHsbox2+DZipX1RaMno32TeEhXjIdPdVq42yfi++QPE+nPdZ05KUTwSbq8dUmTl+hOfgs7q06bU74n2dQxYw01x1A6kw5px2V95gRfL6wrhQNOr9hrnGMAogcPsCCp/x5VKQ== 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 DM5PR12MB1676.namprd12.prod.outlook.com (2603:10b6:4:8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.27; Fri, 1 May 2020 20:17:59 +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.2937.028; Fri, 1 May 2020 20:17:59 +0000 From: "Lendacky, Thomas" To: devel@edk2.groups.io Cc: Jordan Justen , Laszlo Ersek , Ard Biesheuvel , Liming Gao , Eric Dong , Ray Ni , Brijesh Singh , Anthony Perard , Benjamin You , Guo Dong , Julien Grall , Maurice Ma , Andrew Fish Subject: [edk2-devel] [PATCH 4/4] UefiCpuPkg/CpuExceptionHandler: Revert binary patching in standard CpuExceptionHandlerLib Date: Fri, 1 May 2020 15:17:41 -0500 Message-Id: In-Reply-To: References: X-ClientProxiedBy: SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) 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 SN1PR12CA0068.namprd12.prod.outlook.com (2603:10b6:802:20::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19 via Frontend Transport; Fri, 1 May 2020 20:17:58 +0000 X-Originating-IP: [165.204.77.1] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 3b688eed-2ce7-428b-0420-08d7ee0cbe4f X-MS-TrafficTypeDiagnostic: DM5PR12MB1676:|DM5PR12MB1676: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:626; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: BnatpaHa7+NOxEtrsVdhaNcZH2aZIYFn/qvKGd17ItMRLlGoxjKxlxbEi5zJZCvCmwL4fPjyyDRVB51l1WbqH1Ee9MlcQz+Z5Uddsondt0Nnbk8JwKCvwD5fmYqCINgW+B9XMmOmm1D34o0RdZc5xTrtBASWGSb7UqBXfrBk4eHj4KMwlxG1zK8cZfxrYwVNrKCYSNhFSB6K8TJ4LnTZE1fA2ecnp4vYXgdMRkdlz2ORcrj+BgZA8+IcCC5ofGhbuqtdn9VZZKTWArWDzwD4XIU1fCrRWyzR9lSzdw0Jmmmy4YrqYouLS3OiZ/8obX6J/IM1RMgUTALoIjWuHMV1vnYvDFPZSKBCAeSjqKqF6nPVMXncYn4fPi/obft7U2LIW7/os/zjbxQwzPQNou1RGuqGOAMx872WyxCnlGo0rwRbsMO5MTXbBRUIccQ/z4vB7hZWKtTON14XnL5ifZRKAGHTADrsWMq+Fy2LvJHGe1lY1M0yrNbfGbpbpVWruhouPxsdt5TqtO8NdVZ7tBeNf1p71NTXQY6+hLXSjr2X4iPgYMyjm5/ZvJHt44/IRzJamIRNwVXIHRnYW95TPa61mw== X-MS-Exchange-AntiSpam-MessageData: KGtVbYcsWlFjCfLCMEXNWlDeRUHP7zF/QHMBK2DogWIW6/+VnDfv5BCAaM9kpM2cWmqYDANUn3JW0J0h4TzwtXa6Gvlb5bV/y7I9pjfb9Jpj+5lmJDojzSHEXWN/nk0oT9QHYECN/GrhyZ7yFJbJc9/nUEjXgPtMsCo1R5LPMGBe7BWGTtuXeqSNPKPn5yVFQ8XEw309rNGWGArBuXhNSZ5n3KEHX7TdydnFZxwvNJcEih2t9KBZuKaRH7dT3KSV3GRFCl0mAYAIOXFgrIxBoutn/uqHTICv2So0NJmTnnqMgVGVh611gUAhn8PtQjW+Gsb+XnluDDTFK4MkrkQCNBkgWXXJENOZIYbl1ZhaMO0zu9yVHPPKyBxuPSmO99P5i1o1NFm594978L5Bx4EvXunsyDC65gxtC75xmcw1I+Eos/J8Z/J7mQcXsnYNf2AxPjX4iyYh2Oau8cZasZA2Z2VcM6OMxXYIuat2nilpKiRJ217odazEthUen4bc2tPqfJ4rfJieYUQugakbDJmZwLeDtDP6hOD5k0USX97Dlg2lysmNa6B9clBTHr84waMYwcQdIkifuICLfQkqok3zbjNTXouN5Q8JgQMxfPofHkglsYChiG15d195/48lU1rUrw1IOBxj4Dqf+z+vwhwpAIx5E05Wf2bA4B0wdYhFhYGn53jjZ6yf7WgQPOyFmksqHh6u23+3m0PSYDPcwxf59j6ZoK60Wlp0/+hhneade+C+4JBVND7aLbLTuxaI8CU+9XxlOyDsnrYr7koVzQIb8VFaTPHzMN/sikqqHdPveNE= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b688eed-2ce7-428b-0420-08d7ee0cbe4f X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 20:17:59.8251 (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: sSZTpHX2Tu0JQnLJaBTfXP0k3a6wzf9jxfCHyzusIIcpOTPkwFaRCWgGiecwnPhuO4ktK5V3nH6iOsBKbHYTeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1676 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: fXxVKwjH12NBpft86dnaExBox1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588364281; bh=ORrJpmJLv02S+aZpCdfw47iG6e31Nbaq3QG6m0Df+2Y=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=tuDKFDXVduFiA46diUeetLNc4Mf5w3WONj9jK9Ivvvi90ErwfxczzznAL/73mx+qAlX SxiOvnF7zG9U46VpdgB8dI5jPAMb9INmPOgJB/mXLKhZJpRvBuJwOBWBNnGOjLK611wxX pT2uFdrnyixLOuXLnYQEckPP+M0Gfl9wzGc= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2340 Now that an XCODE5 specific CpuExceptionHandlerLib library is in place, revert the changes made to the ExceptionHandlerAsm.nasm in commit 2db0ccc2d7fe ("UefiCpuPkg: Update CpuExceptionHandlerLib pass XCODE5 tool chain") so that binary patching of flash code is not performed. Cc: Eric Dong Cc: Ray Ni Cc: Laszlo Ersek Cc: Liming Gao Signed-off-by: Tom Lendacky Acked-by: Bret Barkelew Reviewed-by: Laszlo Ersek --- .../X64/ExceptionHandlerAsm.nasm | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandler= Asm.nasm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAs= m.nasm index 19198f273137..3814f9de3703 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm @@ -34,7 +34,7 @@ AsmIdtVectorBegin: db 0x6a ; push #VectorNum db ($ - AsmIdtVectorBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBegi= n) / 32) ; VectorNum push rax - mov rax, strict qword 0 ; mov rax, ASM_PFX(CommonInterruptE= ntry) + mov rax, ASM_PFX(CommonInterruptEntry) jmp rax %endrep AsmIdtVectorEnd: @@ -44,8 +44,7 @@ HookAfterStubHeaderBegin: @VectorNum: db 0 ; 0 will be fixed push rax - mov rax, strict qword 0 ; mov rax, HookAfterStubHeaderEnd -JmpAbsoluteAddress: + mov rax, HookAfterStubHeaderEnd jmp rax HookAfterStubHeaderEnd: mov rax, rsp @@ -257,7 +256,8 @@ HasErrorCode: ; and make sure RSP is 16-byte aligned ; sub rsp, 4 * 8 + 8 - call ASM_PFX(CommonExceptionHandler) + mov rax, ASM_PFX(CommonExceptionHandler) + call rax add rsp, 4 * 8 + 8 =20 cli @@ -365,24 +365,11 @@ DoIret: ; comments here for definition of address map global ASM_PFX(AsmGetTemplateAddressMap) ASM_PFX(AsmGetTemplateAddressMap): - lea rax, [AsmIdtVectorBegin] + mov rax, AsmIdtVectorBegin mov qword [rcx], rax mov qword [rcx + 0x8], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 - lea rax, [HookAfterStubHeaderBegin] + mov rax, HookAfterStubHeaderBegin mov qword [rcx + 0x10], rax - -; Fix up CommonInterruptEntry address - lea rax, [ASM_PFX(CommonInterruptEntry)] - lea rcx, [AsmIdtVectorBegin] -%rep 32 - mov qword [rcx + (JmpAbsoluteAddress - 8 - HookAfterStubHeaderBegin= )], rax - add rcx, (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 -%endrep -; Fix up HookAfterStubHeaderEnd - lea rax, [HookAfterStubHeaderEnd] - lea rcx, [JmpAbsoluteAddress] - mov qword [rcx - 8], rax - ret =20 ;-------------------------------------------------------------------------= ------------ --=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 (#58524): https://edk2.groups.io/g/devel/message/58524 Mute This Topic: https://groups.io/mt/73406891/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-