From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.81]) by mx.groups.io with SMTP id smtpd.web10.606.1589227632394541156 for ; Mon, 11 May 2020 13:07:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=TOoeqDUj; spf=pass (domain: redhat.com, ip: 207.211.31.81, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1589227631; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5qyA4XSObLgUsu0QGlB21nR9ayi5wbnkctBaRrrwSF0=; b=TOoeqDUj9Tvdkh5JQTGjQl1oP5/fGgHFI518vbEmZmXdXXAKK8xvTeP9uambLlzxO4Dwnl 9VoxGNO7o82/AGGBinmcaeHHfimYjz9Jo9/kE8gudyt87aYwyASjIHbSMqbLkoBzGIDUmH yCh42GKrY4lSPXqlgQyDnMApMP6auD4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-449-oelnGdDzOxesOhC3dZMSBg-1; Mon, 11 May 2020 16:07:05 -0400 X-MC-Unique: oelnGdDzOxesOhC3dZMSBg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 43146835B40; Mon, 11 May 2020 20:07:03 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-113-11.ams2.redhat.com [10.36.113.11]) by smtp.corp.redhat.com (Postfix) with ESMTP id 677512E16D; Mon, 11 May 2020 20:07:00 +0000 (UTC) Subject: Re: [edk2-devel] [PATCH v3 0/3] XCODE5 toolchain binary patching fix To: devel@edk2.groups.io, thomas.lendacky@amd.com Cc: Jordan Justen , Ard Biesheuvel , Liming Gao , Eric Dong , Ray Ni , Anthony Perard , Julien Grall , Brijesh Singh , Andrew Fish References: From: "Laszlo Ersek" Message-ID: Date: Mon, 11 May 2020 22:06:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit On 05/07/20 15:06, Lendacky, Thomas wrote: > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2340 > > Commit 2db0ccc2d7fe ("UefiCpuPkg: Update CpuExceptionHandlerLib pass > XCODE5 tool chain") introduced binary patching in the > ExceptionHandlerAsm.nasm in order to support the XCODE5 toolchain. > However, the CpuExceptionHandlerLib can be used during SEC phase which > would result in binary patching of flash. > > This series creates a new CpuExceptionHandlerLib file to support > the required binary patching for the XCODE5 toolchain, while reverting > the changes from commit 2db0ccc2d7fe in the standard file. As the Pei, > Dxe and SMM versions of the library operate in memory (as opposed to > flash), only the SEC/PEI version is of the library is updated to use the > version of the ExceptionHandlerAsm.nasm that does not perform binary > patching. > > This is accomplished in phases: > - Create a new XCODE5 specific version of the ExceptionHandlerAsm.nasm > file and update all CpuExceptionHandler INF files to use it while also > creating a new SEC/PEI CpuExceptionHandler INF file specifically for > the XCODE5 toolchain. > - Update all package DSC files that use the SecPeiCpuExceptionHandlerLib > version of the library to use the XCODE5 version of the library, > Xcode5SecPeiCpuExceptionHandlerLib, when the XCODE5 toolchain is used. > - Revert the changes made by commit 2db0ccc2d7fe in the standard file > and update the SecPeiCpuExceptionHandlerLib.inf file to use the > standard file. > > I don't have access to an XCODE5 toolchain setup, so I have not tested > this with XCODE5. I would like to request that someone who does please > test this. > > --- > > These patches are based on commit: > faef5a367c83 ("ShellPkg: acpiview: Check if SBBR mandatory ACPI tables are installed") > > Cc: Andrew Fish > Cc: Anthony Perard > Cc: Ard Biesheuvel > Cc: Brijesh Singh > Cc: Eric Dong > Cc: Jordan Justen > Cc: Julien Grall > Cc: Laszlo Ersek > Cc: Liming Gao > Cc: Ray Ni > > Changes since v2: > - Updated [Components] section of UefiCpuPkg.dsc to conditionally exclude > SecPeiCpuExceptionHandlerLib.inf for the XCODE5 toolchain. > - Added some missed Reviewed-by: and Acked-by: tags from previous > versions. > > Changes since v1: > - Only apply the revert to the Sec/Pei CpuExceptionHandler library and > leave the Pei, Dxe and Smm versions using the binary patching version. > - Generate a unique file GUID for the new library INF file and create > a corresponding UNI file. > - Remove any references to SEV-ES (original patches accidentally submitted > from wrong tree). > > Tom Lendacky (3): > UefiCpuPkg/CpuExceptionHandler: Make XCODE5 changes toolchain specific > OvmfPkg: Use toolchain appropriate CpuExceptionHandlerLib > UefiCpuPkg/CpuExceptionHandler: Revert CpuExceptionHandler binary > patching > > OvmfPkg/OvmfPkgIa32.dsc | 4 +++ > OvmfPkg/OvmfPkgIa32X64.dsc | 4 +++ > OvmfPkg/OvmfPkgX64.dsc | 4 +++ > OvmfPkg/OvmfXen.dsc | 4 +++ > UefiCpuPkg/UefiCpuPkg.dsc | 7 ++++++ > .../DxeCpuExceptionHandlerLib.inf | 2 +- > .../PeiCpuExceptionHandlerLib.inf | 2 +- > .../SmmCpuExceptionHandlerLib.inf | 2 +- > ...=> Xcode5SecPeiCpuExceptionHandlerLib.inf} | 13 +++++++--- > .../X64/ExceptionHandlerAsm.nasm | 25 +++++-------------- > ...sm.nasm => Xcode5ExceptionHandlerAsm.nasm} | 0 > .../Xcode5SecPeiCpuExceptionHandlerLib.uni | 18 +++++++++++++ > 12 files changed, 59 insertions(+), 26 deletions(-) > copy UefiCpuPkg/Library/CpuExceptionHandlerLib/{SecPeiCpuExceptionHandlerLib.inf => Xcode5SecPeiCpuExceptionHandlerLib.inf} (64%) > copy UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/{ExceptionHandlerAsm.nasm => Xcode5ExceptionHandlerAsm.nasm} (100%) > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.uni > Merged via ; commit range c8543b8d830d..9378310dd877. Thanks! Laszlo