audk/UefiCpuPkg/PiSmmCpuDxeSmm
Dun Tan db59ff333d UefiCpuPkg:Limit PhysicalAddressBits in special case
When creating smm page table, limit maximum
supported physical addresses bits returned by
CalculateMaximumSupportAddress() to 47 if
5-Level Paging is disabled.

This commit is to avoid issue that more than
47-bit physical addresses are requested in smm
page table when 5-level paging is disabled.
4-level paging supports translating 48-bit
linear addresses to 52-bit physical addresses.
Since linear addresses are sign-extended,
linear-address space of 4-level paging is:
[0, 2^47-1] and
[0xffff8000_00000000, 0xffffffff_ffffffff].
So only [0, 2^47-1] linear-address range maps
to the identical physical-address range when
5-Level paging is disabled.

Signed-off-by: Dun Tan <dun.tan@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
2024-01-15 01:46:36 +00:00
..
Ia32 UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler. 2023-12-07 09:43:43 +00:00
X64 UefiCpuPkg:Limit PhysicalAddressBits in special case 2024-01-15 01:46:36 +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/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
CpuService.c UefiCpuPkg/PiSmmCpuDxeSmm: Get processor extended information 2023-12-08 13:25:11 +00:00
CpuService.h UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MpService.c UefiCpuPkg/PiSmmCpuDxeSmm: Reduce one round BSP & AP sync 2023-12-26 07:18:26 +00:00
PiSmmCpuDxeSmm.c UefiCpuPkg/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
PiSmmCpuDxeSmm.h UefiCpuPkg/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not 2023-12-26 07:18:26 +00:00
PiSmmCpuDxeSmm.inf UefiCpuPkg/PiSmmCpuDxeSmm: Consume SmmCpuSyncLib 2023-12-20 02:30:56 +00:00
PiSmmCpuDxeSmm.uni
PiSmmCpuDxeSmmExtra.uni
SmmCpuMemoryManagement.c UefiCpuPkg/PiSmmCpuDxeSmm: Optimize PatchSmmSaveStateMap and FlushTlbForAll 2024-01-12 02:57:15 +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