then all 4KiB pages in the 64KiB page must use identical attributes.
So additionally to the cited patch you must ensure that buffer allocated with AllocatePages() in handle_image() for which you set memory attributes does not contain any of the above memory types. The easiest way to fulfill the requirement is appropriate alignment and rounding of the used memory. I can't find this in upstream shim.
Hello Dann,
The UEFI specification requires that if a 64 KiB page contains either of
– EfiRuntimeServi cesCode cesData
– EfiRuntimeServi
– EfiReserved
– EfiACPIMemoryNVS
then all 4KiB pages in the 64KiB page must use identical attributes.
So additionally to the cited patch you must ensure that buffer allocated with AllocatePages() in handle_image() for which you set memory attributes does not contain any of the above memory types. The easiest way to fulfill the requirement is appropriate alignment and rounding of the used memory. I can't find this in upstream shim.
Best regards
Heinrich