On 05/06/20 18:32, Tom Lendacky 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. > > Also, will this change have an impact on any of the platform builds > outside of this tree?
This series takes care of all the "SecPeiCpuExceptionHandlerLib.inf" occurrences in edk2. Regarding edk2-platforms, with master being at 644e223bb371 ("Platform/RaspberryPi: create DXE phase SerialPortLib version for RPi3", 2020-05-06): $ git grep -l \ 'UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf' Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc Platform/Intel/QuarkPlatformPkg/Quark.dsc Platform/Intel/QuarkPlatformPkg/QuarkMin.dsc Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc I don't know what's best for these platforms: an XCODE5-compatible source code that does the wrong thing when run from flash, or an XCODE5-incompatible source code that does the right thing. If all of these platforms lived in edk2 proper, I would suggest inserting patches for them just before patch#3 in this series -- similarly to your OvmfPkg patch. But, these platforms live outside of edk2, and I don't know if they are ever built with XCODE5... ... You could propose a separate edk2-platforms series: Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiLib.dsc Chasel Chiu <chasel.c...@intel.com> Nate DeSimone <nathaniel.l.desim...@intel.com> Liming Gao <liming....@intel.com> Platform/Intel/QuarkPlatformPkg/Quark.dsc Michael D Kinney <michael.d.kin...@intel.com> Kelly Steele <kelly.ste...@intel.com> Platform/Intel/QuarkPlatformPkg/QuarkMin.dsc Michael D Kinney <michael.d.kin...@intel.com> Kelly Steele <kelly.ste...@intel.com> Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc Zailiang Sun <zailiang....@intel.com> Yi Qian <yi.q...@intel.com> Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc Zailiang Sun <zailiang....@intel.com> Yi Qian <yi.q...@intel.com> and we could then delay just the pushing of patch#3 in this series until the edk2-platforms patches have been merged too. > 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? Keeping the current (= self-patching) logic associated with the current filename ("SecPeiCpuExceptionHandlerLib.inf") would certainly eliminate the headache about out-of-tree platforms. But it would also mean we'd have to use a special prefix for the *non-broken* SEC INF file. And that irks me quite a bit. The quirk is in the patching variant, and IMO that should be reflected by the file name. Thanks Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#58743): https://edk2.groups.io/g/devel/message/58743 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] -=-=-=-=-=-=-=-=-=-=-=-