mirror of https://github.com/acidanthera/audk.git
db59ff333d
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> |
||
---|---|---|
.. | ||
Cet.nasm | ||
MpFuncs.nasm | ||
PageTbl.c | ||
Semaphore.c | ||
SmiEntry.nasm | ||
SmiException.nasm | ||
SmmFuncsArch.c | ||
SmmInit.nasm | ||
SmmProfileArch.c | ||
SmmProfileArch.h |