From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.93]) by mx.groups.io with SMTP id smtpd.web10.3815.1588366165338121469 for ; Fri, 01 May 2020 13:49:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@microsoft.com header.s=selector2 header.b=TStCflGF; spf=pass (domain: microsoft.com, ip: 40.107.94.93, mailfrom: bret.barkelew@microsoft.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QZjS4B7zwoo8dSs5vbjO6lSVdWOcuaf96fc83n+h1zWbQVnpLBoMMLDfBRLS6q3aZoqEQ0MQ5iClwFgY7d/6/ZgcnnRmNK2F2/BuWgdkIGn8bQasNyrTXTv2NGNBJslvwlPXz7KRNCAyt5k6caRVKRCZwBa9jIHmrqIi3+LBhfPdBPXn9uQuwBVR29rFydeoUFv2n4QERpbDXJyQqE6xyw3P7QFtmi8IPrn0zo3JCgPgzfjj1YDxF5TDoE7UyuZ7fXSM+IfADyc6LuqSPSDRpKbIkHHjVLD8LW2yF3Qp6H1wzP4tWhQ5McxqecPUhkkblhaLxQaan2DsDbCTePM7zQ== 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=moDqL0xSodUhq/CpxmGoO1vUDrAwO9DvrX8NnQzDS4A=; b=k5vORu8VuaEnbOukvpLc4ki/3AQ+Uu+xTqTVLxhebO2o7OlFIoy8FfWLUbFuueoD844RDsKrJPynsy/Hubi6n8LbpiFNEUtmZZUvbZ+Pmr1flkyXF1/EpZxI9Ky/JjPhlDYP7j7Y+NbI802C4WMh+v827a0Ntwbk72dVxAJT6pBTllpul4RLTtRfl5pgJlRWEW9OvOUiqO5SLsm7u471o81TEz/eyqFEC1OCpBTCo1gLBn3EG8XWQivFQ1IGiNFfDNvv6R2cHu5V7LrkLTIoWJy8uay3IF6ebl5soonH3+bj5l8oqzz/TMtK8uZ9pKfL9HgBbmJPl+KLtLHwmvDh3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=moDqL0xSodUhq/CpxmGoO1vUDrAwO9DvrX8NnQzDS4A=; b=TStCflGFmCfK3V80c/W6MY1lDasWj/rYMo0yDzAsJ2h7ij9qLUPyCghiMW2u5k/PhfCJzv4a8cuYUl7jM5KIfWybE18GLl0jn59Nasy0qoSR6TmUq3bcD5PAJqfACgctNaRdYmVgR958Lsi6+PS7JVTi91GSQkBoJ5p12Tem7Tg= Received: from CY4PR21MB0743.namprd21.prod.outlook.com (2603:10b6:903:b2::9) by CY4PR21MB0167.namprd21.prod.outlook.com (2603:10b6:903:b9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.4; Fri, 1 May 2020 20:49:23 +0000 Received: from CY4PR21MB0743.namprd21.prod.outlook.com ([fe80::90d:10d9:c5bc:5318]) by CY4PR21MB0743.namprd21.prod.outlook.com ([fe80::90d:10d9:c5bc:5318%11]) with mapi id 15.20.2979.017; Fri, 1 May 2020 20:49:23 +0000 From: "Bret Barkelew" To: "devel@edk2.groups.io" , "thomas.lendacky@amd.com" 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: Re: [EXTERNAL] [edk2-devel] [PATCH 4/4] UefiCpuPkg/CpuExceptionHandler: Revert binary patching in standard CpuExceptionHandlerLib Thread-Topic: [EXTERNAL] [edk2-devel] [PATCH 4/4] UefiCpuPkg/CpuExceptionHandler: Revert binary patching in standard CpuExceptionHandlerLib Thread-Index: AQHWH/Wl8ELrkY5w40ijksGqDJo68KiTs/Du Date: Fri, 1 May 2020 20:49:23 +0000 Message-ID: References: , In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-05-01T20:48:54.8659619Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Privileged authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=microsoft.com; x-originating-ip: [174.21.83.205] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: be77115e-5e0c-4416-7adf-08d7ee11214f x-ms-traffictypediagnostic: CY4PR21MB0167: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:393; x-forefront-prvs: 0390DB4BDA x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UEgkIb0K5aMCReMqy67ZBNOOeueJQNCUMNhqPMG0OapFqzH3vxG40PwsLD2EZX2gPen650VsGXYdIeEQIy/y6IoQ1QyX/qgSUJts+smH+lf+URm37yEfVWCFE9ks7+4p9hGGRfIbpNXgwiJrWZb0hZp3qESA3UJ1J0WHGW2dK4vbW2okSLtqzd5PEP2lpbiJOtUpl9LCTAPiHdm3ZK4QseJBhL9oC6cJFcIKzZaVdCGo3MNhUykrLiAyMkHeXhBTwSWaOPO9gu1PSSqog7ry+l5Q9AD4NZr8E74hogY6ch0bsqjPOt0klITH2tAtA0JwTjPo4MzFV/WYuIYbyI17pVJ/ksvhN7dSpZeTRTDG/0lCLdj4DAdubB+jCG+kdgZr6Y9ahiHoMii8I8h8AX2A06GhWNUzQif5vCCMLzsgHIxEEWX3xSdmnZtKXMeHYdH7OhRDPpj2wpqTIKI8DMhyC4VBZ/q7Vj4Klqqih1FMXUZdCR0+eD4YLJU4QXer5y/nPSA5TSUhiH4NIC08UB2IXQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR21MB0743.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(376002)(136003)(396003)(346002)(366004)(39860400002)(82950400001)(82960400001)(54906003)(71200400001)(110136005)(66476007)(26005)(64756008)(66556008)(7696005)(66446008)(8936002)(478600001)(186003)(6506007)(966005)(53546011)(66946007)(76116006)(8676002)(7416002)(86362001)(10290500003)(9686003)(2906002)(52536014)(8990500004)(5660300002)(55016002)(4326008)(33656002)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: CvOhDFWod3C/NpQSNqa3hGlatVnJipvAt20gcEpNmA5WgdQ6N+oEdYIhY7SweJPUlOW+vLf1jJazonwLuLl8EreOh+Xk+hBB6aqO+zKxBvKSdwTHMtiHndsgOw51rtbyeBfS+i3cVd58IYY04oVfGD5DmOOLylm9q2qmyAnCmJc7qUZDsn+mTn5QnEsIlQjK5GuZfKmbjxZh1YBhFKKsIl53mN0F7q6U1b9UhL/W89f5BREzM2rvpVkAXEU6Ioc6M6VzKJE6fhQ2B32Poo37ZXHmUMSTyg5yAkLL7MW7bL/5TqxekCle8bdiB5j+JcF6pNfX2CzhhdjPfk0BPWN4dxzUQVKdDViNFQWsbX0EJuMA1CCDqXGCav4cD+1kH6ZZu1hd5qd5MadpqOGke26lleTx1ITtAcueevW6/uMcLE1rZyaSL9CQU48TCSZnYU5cmUg8jyizK3Ia1yfxxNgAFWbnrxt/IDCoOCxc9oQeiFHQ8NMjlKglAT2ZO0eOvLGX0smplJp22S5GGZkNlizhpOqTP9csk25OW9fMo8bOEjaSelgbE1L65/bLFcabeYFnYrBjIhIcyV4b3WQ7ywhHKaeaj/Z7raoYY0JLP3l2uWX9ekKIReNLpL6op4YV78JLaHbSMSqd9WEWAs9cMwPE3baogUKx7ktumD2szkZC2glOano2A5EOcY+K8gDozK1hnUxmvtTSQfvDfBihCAdx2qdI98Z8x7KPJpJdM+D3Z+7kkvMeonlukOx9NTbeARNvJUU6hkZiK+yTm6ut9+9f6xgSOsASJYIrMufw+Hnt93w= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: be77115e-5e0c-4416-7adf-08d7ee11214f X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2020 20:49:23.6051 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: RP/INaYh2CA0qXgeCttX4QHd/S1UhOkhyl01+rfY53DF/Gih0da/vsQSSOiLOgjAuWTW7No0TxVBxani2oWL9A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0167 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_CY4PR21MB07435AA07017779208AADACDEFAB0CY4PR21MB0743namp_" --_000_CY4PR21MB07435AA07017779208AADACDEFAB0CY4PR21MB0743namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Bret Barkelew - Bret ________________________________ From: devel@edk2.groups.io on behalf of Lendacky, T= homas via groups.io Sent: Friday, May 1, 2020 1:17:41 PM To: devel@edk2.groups.io Cc: Jordan Justen ; Laszlo Ersek ; Ard Biesheuvel ; Liming Gao ; Eric Dong ; Ray Ni ; Brij= esh Singh ; Anthony Perard ; Benjamin You ; Guo Dong ; J= ulien Grall ; Maurice Ma ; Andrew Fis= h Subject: [EXTERNAL] [edk2-devel] [PATCH 4/4] UefiCpuPkg/CpuExceptionHandle= r: Revert binary patching in standard CpuExceptionHandlerLib BZ: https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbu= gzilla.tianocore.org%2Fshow_bug.cgi%3Fid%3D2340&data=3D02%7C01%7Cbret.b= arkelew%40microsoft.com%7Cc233bc94949a424f66bf08d7ee0cc626%7C72f988bf86f141= af91ab2d7cd011db47%7C1%7C0%7C637239610952998859&sdata=3Drm%2FpiCDgatUHt= U9PEQGWTzFT70XmkpbIukV7eiHWHeo%3D&reserved=3D0 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 --- .../X64/ExceptionHandlerAsm.nasm | 25 +++++-------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandle= rAsm.nasm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerA= sm.nasm index 19198f273137..3814f9de3703 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.na= sm +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.na= sm @@ -34,7 +34,7 @@ AsmIdtVectorBegin: db 0x6a ; push #VectorNum db ($ - AsmIdtVectorBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBeg= in) / 32) ; VectorNum push rax - mov rax, strict qword 0 ; mov rax, ASM_PFX(CommonInterrupt= Entry) + 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 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) / 3= 2 - 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 - HookAfterStubHeaderBegi= n)], rax - add rcx, (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 -%endrep -; Fix up HookAfterStubHeaderEnd - lea rax, [HookAfterStubHeaderEnd] - lea rcx, [JmpAbsoluteAddress] - mov qword [rcx - 8], rax - ret ;------------------------------------------------------------------------= ------------- -- 2.17.1 --_000_CY4PR21MB07435AA07017779208AADACDEFAB0CY4PR21MB0743namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Acked-by: Bret Barkelew <bret.barkelew@microsoft= .com>

 

- Bret

 


From: devel@edk2.groups.io= <devel@edk2.groups.io> on behalf of Lendacky, Thomas via groups.io &= lt;thomas.lendacky=3Damd.com@groups.io>
Sent: Friday, May 1, 2020 1:17:41 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: Jordan Justen <jordan.l.justen@intel.com>; Laszlo Ersek &= lt;lersek@redhat.com>; Ard Biesheuvel <ard.biesheuvel@linaro.org>;= Liming Gao <liming.gao@intel.com>; Eric Dong <eric.dong@intel.com= >; Ray Ni <ray.ni@intel.com>; Brijesh Singh <brijesh.singh@amd.= com>; Anthony Perard <anthony.perard@citrix.com>; Benjamin You <benjam= in.you@intel.com>; Guo Dong <guo.dong@intel.com>; Julien Grall <= ;julien@xen.org>; Maurice Ma <maurice.ma@intel.com>; Andrew Fish &= lt;afish@apple.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH 4/4] UefiCpuPkg/CpuExceptio= nHandler: Revert binary patching in standard CpuExceptionHandlerLib
 
BZ: https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbugzil= la.tianocore.org%2Fshow_bug.cgi%3Fid%3D2340&amp;data=3D02%7C01%7Cbret.b= arkelew%40microsoft.com%7Cc233bc94949a424f66bf08d7ee0cc626%7C72f988bf86f141= af91ab2d7cd011db47%7C1%7C0%7C637239610952998859&amp;sdata=3Drm%2FpiCDga= tUHtU9PEQGWTzFT70XmkpbIukV7eiHWHeo%3D&amp;reserved=3D0

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 <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
---
 .../X64/ExceptionHandlerAsm.nasm      =         | 25 +++++--= ------------
 1 file changed, 6 insertions(+), 19 deletions(-)

diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandle= rAsm.nasm b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerA= sm.nasm
index 19198f273137..3814f9de3703 100644
--- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.na= sm
+++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionH= andlerAsm.nasm
@@ -34,7 +34,7 @@ AsmIdtVectorBegin:
     db      0x6a  =       ; push  #VectorNum
     db      ($ - AsmIdtVecto= rBegin) / ((AsmIdtVectorEnd - AsmIdtVectorBegin) / 32) ; VectorNum
     push    rax
-    mov     rax, strict qword 0 ; = ;   mov     rax, ASM_PFX(CommonInterruptEntry= )
+    mov     rax, ASM_PFX(CommonInt= erruptEntry)
     jmp     rax
 %endrep
 AsmIdtVectorEnd:
@@ -44,8 +44,7 @@ HookAfterStubHeaderBegin:
 @VectorNum:
     db      0  &nb= sp;       ; 0 will be fixed
     push    rax
-    mov     rax, strict qword 0 ; = ;    mov     rax, HookAfterStubHeaderEnd=
-JmpAbsoluteAddress:
+    mov     rax, HookAfterStubHead= erEnd
     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(CommonExc= eptionHandler)
+    call    rax
     add     rsp, 4 * 8 + 8  
     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, [HookAfterStubHeaderB= egin]
+    mov     rax, HookAfterStubHead= erBegin
     mov     qword [rcx + 0x10= ], rax
-
-; Fix up CommonInterruptEntry address
-    lea    rax, [ASM_PFX(CommonInterruptEnt= ry)]
-    lea    rcx, [AsmIdtVectorBegin]
-%rep  32
-    mov    qword [rcx + (JmpAbsoluteAdd= ress - 8 - HookAfterStubHeaderBegin)], rax
-    add    rcx, (AsmIdtVectorEnd - AsmIdtVe= ctorBegin) / 32
-%endrep
-; Fix up HookAfterStubHeaderEnd
-    lea    rax, [HookAfterStubHeaderEnd] -    lea    rcx, [JmpAbsoluteAddress]
-    mov    qword [rcx - 8], rax
-
     ret
 
 ;-------------------------------------------------------------------= ------------------
--
2.17.1




--_000_CY4PR21MB07435AA07017779208AADACDEFAB0CY4PR21MB0743namp_--