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. Also, will this change have an impact on any of the platform builds outside of this tree? In other words, should the new INF be the one that uses the reverted ExceptionHandlerAsm.nasm file and it be called something like BaseSecPeiCpuExceptionHandlerLib.inf? --- These patches are based on commit: befd18fca68b ("EmbeddedPkg/EmbeddedPkg.dsc: remove some stale component references") Cc: Andrew Fish <af...@apple.com> Cc: Anthony Perard <anthony.per...@citrix.com> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Brijesh Singh <brijesh.si...@amd.com> Cc: Eric Dong <eric.d...@intel.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Julien Grall <jul...@xen.org> Cc: Laszlo Ersek <ler...@redhat.com> Cc: Liming Gao <liming....@intel.com> Cc: Ray Ni <ray...@intel.com> 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 | 5 + .../DxeCpuExceptionHandlerLib.inf | 2 +- .../PeiCpuExceptionHandlerLib.inf | 2 +- .../SmmCpuExceptionHandlerLib.inf | 2 +- .../Xcode5SecPeiCpuExceptionHandlerLib.inf | 54 +++ .../X64/ExceptionHandlerAsm.nasm | 25 +- .../X64/Xcode5ExceptionHandlerAsm.nasm | 396 ++++++++++++++++++ .../Xcode5SecPeiCpuExceptionHandlerLib.uni | 17 + 12 files changed, 497 insertions(+), 22 deletions(-) create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerAsm.nasm create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.uni -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58719): https://edk2.groups.io/g/devel/message/58719 Mute This Topic: https://groups.io/mt/74032330/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-