audk/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32
Sheng Wei 553dfb0f57 UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler.
OS may enable CET-IBT feature by set MSR IA32_U_CET.bit2.
If IA32_U_CET.bit2 is set, CPU is in WAIT_FOR_ENDBRANCH state and
 the next assemble code is not ENDBR, it will trigger #CP exception
 when set CR4.CET bit.
SMI handler needs to backup MSR IA32_U_CET and clear MSR IA32_U_CET
 before set CR4.CET bit,
And SMI handler needs to restore MSR IA32_U_CET when exit SMI handler.

Signed-off-by: Sheng Wei <w.sheng@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Tan Dun <dun.tan@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2023-12-07 09:43:43 +00:00
..
Cet.nasm UefiCpuPkg: Use macro CR4_CET_BIT to replace hard code value in Cet.nasm. 2023-12-07 09:43:43 +00:00
MpFuncs.nasm UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PageTbl.c UefiCpuPkg: Add GenSmmPageTable() to create smm page table 2023-06-30 11:07:40 +05:30
Semaphore.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmiEntry.nasm UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. 2023-12-07 09:43:43 +00:00
SmiException.nasm UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmFuncsArch.c UefiCpuPkg: Extern mSmmShadowStackSize in PiSmmCpuDxeSmm.h 2023-06-30 11:07:40 +05:30
SmmInit.nasm UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmProfileArch.c UefiCpuPkg: Use GenSmmPageTable() to create Smm S3 page table 2023-06-30 11:07:40 +05:30
SmmProfileArch.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00