audk/UefiPayloadPkg
Liu, Zhiguang e8034b534a UefiPayloadPkg: Always split page table entry to 4K if it covers stack.
We observed page fault in the following situation:
1.PayloadEntry uses 2M entry in page table to cover DXE stack range.
2.In DXE phase, image protection code needs to mark some sub-range in
this 2M entry as readonly. So the the 2M page table entry is split to
512 4K entries, and some of the entries are marked as readonly.
(the entries covering stack still remain R/W)
3.Page fault exception happens when trying to access stack.

Always split the page table entry to 4K if it covers stack to avoid this
issue.
More discussion about this issue can be seen at below link
https://edk2.groups.io/g/devel/topic/91446026

Cc: Guo Dong <guo.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Cc: Maurice Ma <maurice.ma@intel.com>
Cc: Benjamin You <benjamin.you@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
2022-06-20 04:53:17 +00:00
..
BlSupportDxe UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
BlSupportSmm BlSupportSmm: fix definition of SetSmrr() 2022-03-07 22:48:49 +00:00
FvbRuntimeDxe UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
GraphicsOutputDxe UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Include UefiPayloadPkg: Add definition for PayloadCommandLine HOB 2022-05-06 04:49:22 +00:00
Library UefiPayloadPkg: Connect all root bridge in PlatformBootManagerBeforeConsole 2022-05-13 01:47:11 +00:00
PayloadLoaderPeim UefiPayloadPkg/PayloadLoaderPeim: Use INT64 as input parameter 2022-03-01 02:45:28 +00:00
PchSmiDispatchSmm UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmAccessDxe UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SmmControlRuntimeDxe UefiPayloadPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
UefiPayloadEntry UefiPayloadPkg: Always split page table entry to 4K if it covers stack. 2022-06-20 04:53:17 +00:00
BuildAndIntegrationInstructions.txt UefiPayloadPkg: Fix architecture in the build instruction 2022-03-29 05:18:43 +00:00
UefiPayloadPkg.ci.yaml UefiPayloadPkg/UefiPayloadPkg.ci.yaml: Remove duplicated entry 2022-03-29 04:22:16 +00:00
UefiPayloadPkg.dec UefiPayloadPkg: Add definition for PayloadCommandLine HOB 2022-05-06 04:49:22 +00:00
UefiPayloadPkg.dsc UefiPayloadPkg: Increase the PcdMaximumUnicodeStringLength 2022-06-17 09:15:31 +00:00
UefiPayloadPkg.fdf UefiPayloadPkg: Change the user interface name of the Uiapp 2022-01-17 18:29:57 +00:00
UniversalPayloadBuild.py UefiPayloadPkg: Align SpecRevision value with UPL spec 2022-05-27 16:15:26 +00:00