audk/UefiCpuPkg
Sheng Wei 0a6b303dce UefiCpuPkg/ExceptionLib: Conditionally clear shadow stack token busy bit
When enter SMM exception, there will be a stack switch only if the IST
field of the interrupt gate is set. When CET shadow stack feature is
enabled, if there is a stack switch between SMM exception and SMM, the
shadow stack token busy bit needs to be cleared when return from SMM
exception to SMM. In UEFI BIOS, only page fault exception does the stack
swith when SMM shack guard feature is enabled. The condition of clear
shadow stack token busy bit should be SMM stack guard enabled, CET shadows
stack feature enabled and page fault exception.
The shadow stack token should be initialized by UINT64.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3462

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: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Qihua Zhuang <qihua.zhuang@intel.com>
Cc: Daquan Dong <daquan.dong@intel.com>
Cc: Justin Tong <justin.tong@intel.com>
Cc: Tom Xu <tom.xu@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
2021-07-06 08:18:21 +00:00
..
Application/Cpuid UefiCpuPkg: strip trailing whitespace 2019-10-04 11:18:32 +01:00
CpuDxe UefiCpuPkg/CpuDxe: Guarantee GDT is below 4GB 2021-03-18 01:11:23 +00:00
CpuFeatures UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
CpuIo2Dxe UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
CpuIo2Smm UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm 2021-02-01 10:04:42 -08:00
CpuIoPei UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
CpuMpPei UefiCpuPkg: Move MigrateGdt from DiscoverMemory to TempRamDone. (CVE-2019-11098) 2021-02-04 01:30:05 +00:00
CpuS3DataDxe UefiCpuPkg/CpuS3DataDxe: do not allocate useless register tables 2021-01-20 18:20:14 +00:00
Include UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
Library UefiCpuPkg/ExceptionLib: Conditionally clear shadow stack token busy bit 2021-07-06 08:18:21 +00:00
PiSmmCommunication UefiCpuPkg/SmmCommunication: Remove out-dated comments 2021-03-25 02:34:29 +00:00
PiSmmCpuDxeSmm UefiCpuPkg/ExceptionLib: Conditionally clear shadow stack token busy bit 2021-07-06 08:18:21 +00:00
ResetVector UefiCpuPkg: Add a 16-bit protected mode code segment descriptor 2020-08-17 02:46:39 +00:00
SecCore UefiCpuPkg: Move MigrateGdt from DiscoverMemory to TempRamDone. (CVE-2019-11098) 2021-02-04 01:30:05 +00:00
SecMigrationPei UefiCpuPkg/SecMigrationPei: Add initial PEIM (CVE-2019-11098) 2020-07-28 01:43:16 +00:00
Test UefiCpuPkg/MtrrLib/UnitTest: Add host based unit test 2020-08-12 11:38:37 +00:00
Universal/Acpi/S3Resume2Pei UefiCpuPkg: Remove PcdFrameworkCompatibilitySupport usage 2019-05-09 09:42:55 +08:00
UefiCpuPkg.ci.yaml UefiCpuPkg/UefiCpuPkg.ci.yaml: Add configuration for Ecc check 2020-08-17 03:28:09 +00:00
UefiCpuPkg.dec UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
UefiCpuPkg.dsc UefiCpuPkg: Add MicrocodeLib for loading microcode 2021-04-09 01:43:18 +00:00
UefiCpuPkg.uni UefiCpuPkg: Create an SEV-ES workarea PCD 2020-08-17 02:46:39 +00:00
UefiCpuPkgExtra.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00