audk/UefiCpuPkg/PiSmmCpuDxeSmm
Vanguput, Narendra K 37f9fea5b8 UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1593

For every SMI occurrence, save and restore CR2 register only when SMM
on-demand paging support is enabled in 64 bit operation mode.
This is not a bug but to have better improvement of code.

Patch5 is updated with separate functions for Save and Restore of CR2
based on review feedback.

Patch6 - Removed Global Cr2 instead used function parameter.

Patch7 - Removed checking Cr2 with 0 as per feedback.

Patch8 and 9 - Aligned with EDK2 Coding style.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Vanguput Narendra K <narendra.k.vanguput@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
2019-04-04 14:00:32 +08:00
..
Ia32 UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM 2019-04-04 14:00:32 +08:00
X64 UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM 2019-04-04 14:00:32 +08:00
CpuS3.c UefiCpuPkg/PiSmmCpuDxeSmm: Separate semaphore container. 2018-11-11 10:02:47 +08:00
CpuService.c UefiCpuPkg/LocalApicLib: Rename GetProcessorLocation() 2016-11-02 09:16:21 +08:00
CpuService.h UefiCpuPkg: Add PiSmmCpuDxeSmm module no IA32/X64 files 2015-10-19 19:12:53 +00:00
MpService.c UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM 2019-04-04 14:00:32 +08:00
PiSmmCpuDxeSmm.c UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
PiSmmCpuDxeSmm.h UefiCpuPkg\CpuSmm: Save & restore CR2 on-demand paging in SMM 2019-04-04 14:00:32 +08:00
PiSmmCpuDxeSmm.inf UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
PiSmmCpuDxeSmm.uni UefiCpuPkg: Convert all .uni files to utf-8 2015-12-15 04:59:14 +00:00
PiSmmCpuDxeSmmExtra.uni UefiCpuPkg: Convert all .uni files to utf-8 2015-12-15 04:59:14 +00:00
SmmCpuMemoryManagement.c UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
SmmProfile.c UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
SmmProfile.h UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
SmmProfileInternal.h UefiCpuPkg PiSmmCpuDxeSmm: Use new EfiLocateFirstAcpiTable() 2018-09-27 14:25:36 +08:00
SmramSaveState.c UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM. 2019-02-28 09:39:54 +08:00
SyncTimer.c UefiCpuPkg: Add PiSmmCpuDxeSmm module no IA32/X64 files 2015-10-19 19:12:53 +00:00