audk/UefiCpuPkg/PiSmmCpuDxeSmm
Sheng Wei ef91b07388 UefiCpuPkg/PiSmmCpuDxeSmm: Fix SMM stack offset is not correct
In function InitGdt(), SmiPFHandler() and Gen4GPageTable(), it uses
 CpuIndex * mSmmStackSize to get the SMM stack address offset for
 multi processor. It misses the SMM Shadow Stack Size. Each processor
 will use mSmmStackSize + mSmmShadowStackSize in the memory.
It should use CpuIndex * (mSmmStackSize + mSmmShadowStackSize) to get
 this SMM stack address offset. If mSmmShadowStackSize > 0 and multi
 processor enabled, it will get the wrong offset value.
CET shadow stack feature will set the value of mSmmShadowStackSize.

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

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: Roger Feng <roger.feng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2021-03-02 05:11:55 +00:00
..
Ia32 UefiCpuPkg/PiSmmCpuDxeSmm: Reflect page table depth with page table address 2020-11-18 04:52:26 +00:00
X64 UefiCpuPkg/PiSmmCpuDxeSmm: Fix SMM stack offset is not correct 2021-03-02 05:11:55 +00:00
CpuS3.c UefiCpuPkg PiSmmCpuDxeSmm: Reduce SMRAM consumption in CpuS3.c 2021-01-11 09:13:48 +00:00
CpuService.c UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
CpuService.h UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
MpService.c UefiCpuPkg/PiSmmCpuDxeSmm: Fix SMM stack offset is not correct 2021-03-02 05:11:55 +00:00
PiSmmCpuDxeSmm.c UefiCpuPkg/PiSmm: Fix various typos 2020-02-10 22:30:07 +00:00
PiSmmCpuDxeSmm.h UefiCpuPkg/PiSmmCpuDxeSmm: Reflect page table depth with page table address 2020-11-18 04:52:26 +00:00
PiSmmCpuDxeSmm.inf UefiCpuPkg/PiSmmCpuDxeSmm: Avoid allocate Token every time 2019-12-06 06:41:16 +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/PiSmmCpuDxeSmm: Reflect page table depth with page table address 2020-11-18 04:52:26 +00:00
SmmMp.c UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol 2019-07-16 11:54:55 +08:00
SmmMp.h UefiCpuPkg/PiSmmCpuDxeSmm: Keep function comment and declaration adjacent 2019-08-02 14:19:13 +08:00
SmmProfile.c UefiCpuPkg: PiSmmCpuDxeSmm skip MSR_IA32_MISC_ENABLE manipulation on AMD 2020-07-07 23:25:16 +00:00
SmmProfile.h UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmProfileInternal.h UefiCpuPkg: PiSmmCpuDxeSmm skip MSR_IA32_MISC_ENABLE manipulation on AMD 2020-07-07 23:25:16 +00:00
SmramSaveState.c UefiCpuPkg/PiSmm: Fix various typos 2020-02-10 22:30:07 +00:00
SyncTimer.c UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00