audk/UefiCpuPkg/PiSmmCpuDxeSmm
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
..
Ia32 UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. 2023-12-07 09:43:43 +00:00
X64 UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. 2023-12-07 09:43:43 +00:00
Cet.inc UefiCpuPkg: Add macro definitions for CET feature for NASM files. 2023-12-07 09:43:43 +00:00
CpuS3.c UefiCpuPkg/PiSmmCpuDxe: use MpService2Ppi to wakeup AP in s3 2023-09-08 06:19:34 +00:00
CpuService.c UefiCpuPkg/CpuService.c:check cpu sync mode in SmmCpuRendezvous() 2023-05-31 09:23:01 +00:00
CpuService.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MpService.c UefiCpuPkg/PiSmmCpuDxeSmm: Use NonSmm BSP as default SMM BSP. 2023-11-29 07:23:37 +00:00
PiSmmCpuDxeSmm.c UefiCpuPkg: Get processor extended information for SmmCpuServiceProtocol 2023-07-05 07:38:26 +00:00
PiSmmCpuDxeSmm.h UefiCpuPkg/PiSmmCpuDxeSmm: Fix CP Exception when CET enable 2023-11-10 01:21:12 +00:00
PiSmmCpuDxeSmm.inf UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister 2023-07-03 03:01:10 +00:00
PiSmmCpuDxeSmm.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PiSmmCpuDxeSmmExtra.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmCpuMemoryManagement.c UefiCpuPkg: Use Attribute From SMM MemoryAttributesTable if Nonzero 2023-11-27 18:55:18 +00:00
SmmMp.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmMp.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmMpPerf.c UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging 2023-06-21 04:37:17 +00:00
SmmMpPerf.h UefiCpuPkg/SmmCpu: Add PcdSmmApPerfLogEnable control AP perf-logging 2023-06-21 04:37:17 +00:00
SmmProfile.c UefiCpuPkg/PiSmmCpuDxeSmm: Fix CP Exception when CET enable 2023-11-10 01:21:12 +00:00
SmmProfile.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmProfileInternal.h UefiCpuPkg: Remove UefiCpuLib from module INFs. 2023-03-10 08:23:56 +00:00
SmramSaveState.c UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister 2023-07-03 03:01:10 +00:00
SyncTimer.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00