##########################################################################################\r
\r
==========================================================================================\r
-EDK_39331: Non-Compatible: klu2\r
+EDK_3967: Non-Compatible: lgao4\r
+\r
+ Class_Library: Remove PeCoffLoader library class and its instances.\r
+\r
+ Code Change :\r
+ 1) Remove MdeModulePkg/Include/Library/PeCoffLoaderLib.h\r
+ 2) Remove MdeModulePkg/Library/DxePeCoffLoaderFromHobLib and PeiDxePeCoffLoaderLib instance\r
+ 3) Modify PeiCore, DxeIpl and DxeCore to use PeCoffLib in place of PeCoffLoaderLib.\r
+\r
+ Possible Impacts:\r
+ 1) All modules don't use PeCoffloader library class any longer to load PeImage. \r
+ If necessary, they should use PeCoffLib of MdePkg to load PeImage.\r
+\r
+==========================================================================================\r
+EDK_3931: Non-Compatible: klu2\r
\r
Class_PIEnable[5]: New library class for S3Resume and Recovery for DxeIpl PEIM.\r
\r
3) The gEfiFirmwareVolumeProtocolGuid in [Depex] section of INF file should updated.\r
And the package dependency should also be changed if needed due to this protocol\r
GUID change.\r
-\r
-==========================================================================================\r
-EDK_3967: Non-Compatible: lgao4\r
-\r
- Class_Library: Remove PeCoffLoader library class and its instances.\r
-\r
- Code Change :\r
- 1) Remove MdeModulePkg/Include/Library/PeCoffLoaderLib.h\r
- 2) Remove MdeModulePkg/Library/DxePeCoffLoaderFromHobLib and PeiDxePeCoffLoaderLib instance\r
- 3) Modify PeiCore, DxeIpl and DxeCore to use PeCoffLib in place of PeCoffLoaderLib.\r
-\r
- Possible Impacts:\r
- 1) All modules don't use PeCoffloader library class any longer to load PeImage. \r
- If necessary, they should use PeCoffLib of MdePkg to load PeImage.\r
//\r
return EFI_UNSUPPORTED;\r
}\r
-\r
+ \r
+ //\r
+ // Set EFI memory type based on ImageType\r
+ //\r
+ switch (Image->ImageContext.ImageType) {\r
+ case EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION:\r
+ Image->ImageContext.ImageCodeMemoryType = EfiLoaderCode;\r
+ Image->ImageContext.ImageDataMemoryType = EfiLoaderData;\r
+ break;\r
+ case EFI_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER:\r
+ Image->ImageContext.ImageCodeMemoryType = EfiBootServicesCode;\r
+ Image->ImageContext.ImageDataMemoryType = EfiBootServicesData;\r
+ break;\r
+ case EFI_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER:\r
+ case EFI_IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER:\r
+ Image->ImageContext.ImageCodeMemoryType = EfiRuntimeServicesCode;\r
+ Image->ImageContext.ImageDataMemoryType = EfiRuntimeServicesData;\r
+ break;\r
+ default:\r
+ Image->ImageContext.ImageError = IMAGE_ERROR_INVALID_SUBSYSTEM;\r
+ return EFI_UNSUPPORTED;\r
+ }\r
\r
//\r
// Allocate memory of the correct memory type aligned on the required image boundry\r