Patch V5: File cet.inc will be used in both MdePkg UefiCpuPkg. Move cet.inc file from UefiCpuPkg to MdePkg. Use macro CR4_CET_BIT to replace hard code value for both LongJump.nasm and SetJump.nasm.
Patch V4: Separate the changes to 5 patches. 1) Add macro definitions for CET feature for NASM files. 2) Use macro CR4_CET_BIT to replace hard code value in Cet.nasm. 3) Use CET macro definitions in Cet.inc for SmiEntry.nasm files. 4) Only change CR4.CET bit for enable/disable CET. 5) Backup and Restore MSR IA32_U_CET in SMI handler. Remove some unused code. It is no need to clear MSR IA32_S_CET, because clear CR4.CET bit will disable all CET functions. Since CET is disabled between clear CR4.CET and run 'rsm', it is no need to delay MSR IA32_S_CET restoration. Patch V3: Remove the 3rd patch. mSmmInterruptSspTables is a global variable. It is unnecessary to initializ it to zero manually. Patch V2: No function change with Patch V1. Split the patch to into 3 separate patches. Sheng Wei (6): MdePkg: Add macro definitions for CET feature for NASM files. UefiCpuPkg: Use macro CR4_CET_BIT to replace hard code value in Cet.nasm. UefiCpuPkg: Use CET macro definitions in Cet.inc for SmiEntry.nasm files. UefiCpuPkg: Only change CR4.CET bit for enable and disable CET. UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. MdePkg: Use macro CR4_CET_BIT to replace hard code value. MdePkg/Include/Cet.inc | 26 +++++++++++++ MdePkg/Library/BaseLib/Ia32/LongJump.nasm | 3 +- MdePkg/Library/BaseLib/Ia32/SetJump.nasm | 3 +- MdePkg/Library/BaseLib/X64/LongJump.nasm | 3 +- MdePkg/Library/BaseLib/X64/SetJump.nasm | 3 +- UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/Cet.nasm | 5 ++- UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm | 39 +++++++++++-------- UefiCpuPkg/PiSmmCpuDxeSmm/X64/Cet.nasm | 5 ++- UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm | 40 +++++++++++--------- 9 files changed, 86 insertions(+), 41 deletions(-) create mode 100644 MdePkg/Include/Cet.inc -- 2.26.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111234): https://edk2.groups.io/g/devel/message/111234 Mute This Topic: https://groups.io/mt/102599348/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-