audk/UefiCpuPkg/PiSmmCpuDxeSmm/X64
Kun Qin c3dcbce26f UefiCpuPkg: PiSmmCpuDxeSmm: Not to Change Bitwidth During Static Paging
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3300

Current implementation of SetStaticPageTable routine in PiSmmCpuDxeSmm
driver will check a global variable mPhysicalAddressBits, and eventually
cap any value larger than 39 at 39.

This global variable is used in ConvertMemoryPageAttributes, which backs
SmmSetMemoryAttributes and SmmClearMemoryAttributes. Thus for a processor
that supports more than 39 bits width, trying to mark page table regions
higher than 39-bit will always return EFI_UNSUPPROTED.

This change updated the interface of SetStaticPageTable function to take
PhysicalAddressBits as an input parameter, in order to avoid changing/
accessing the global variable.

Cc: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>

Fixes: 4eee0cc7cc
Signed-off-by: Kun Qin <kuqin12@gmail.com>
2021-04-20 00:32:24 +00:00
..
Cet.nasm
MpFuncs.nasm
PageTbl.c UefiCpuPkg: PiSmmCpuDxeSmm: Not to Change Bitwidth During Static Paging 2021-04-20 00:32:24 +00:00
Semaphore.c UefiCpuPkg/PiSmm: Fix various typos 2020-02-10 22:30:07 +00:00
SmiEntry.nasm UefiCpuPkg: PiSmmCpuDxeSmm skip MSR_IA32_MISC_ENABLE manipulation on AMD 2020-07-07 23:25:16 +00:00
SmiException.nasm
SmmFuncsArch.c UefiCpuPkg/PiSmmCpuDxeSmm: Fix SMM stack offset is not correct 2021-03-02 05:11:55 +00:00
SmmInit.nasm UefiCpuPkg/PiSmm: Fix various typos 2020-02-10 22:30:07 +00:00
SmmProfileArch.c
SmmProfileArch.h