gEfiStatusCodeRuntimeProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiCapsuleArchProtocolGuid ## CONSUMES\r
gEfiDecompressProtocolGuid ## CONSUMES\r
- gEfiLoadPeImageProtocolGuid ## PRODUCES\r
+ gEfiLoadPeImageProtocolGuid ## SOMETIMES_PRODUCES (Produces when PcdFrameworkCompatibilitySupport is set)\r
gEfiSimpleFileSystemProtocolGuid ## CONSUMES\r
gEfiLoadFileProtocolGuid ## CONSUMES\r
gEfiLoadFile2ProtocolGuid ## CONSUMES\r
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueBootServiceExit\r
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverBegin\r
gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueDxeDriverEnd\r
+\r
+[FeaturePcd.common]\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport ## CONSUMES\r
gDxeCoreImageHandle = Image->Handle;\r
gDxeCoreLoadedImage = &Image->Info;\r
\r
- //\r
- // Export DXE Core PE Loader functionality\r
- //\r
- return CoreInstallProtocolInterface (\r
- &mLoadPe32PrivateData.Handle,\r
- &gEfiLoadPeImageProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &mLoadPe32PrivateData.Pe32Image\r
- );\r
+ if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {\r
+ //\r
+ // Export DXE Core PE Loader functionality for backward compatibility.\r
+ //\r
+ Status = CoreInstallProtocolInterface (\r
+ &mLoadPe32PrivateData.Handle,\r
+ &gEfiLoadPeImageProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ &mLoadPe32PrivateData.Pe32Image\r
+ );\r
+ }\r
+\r
+ return Status;\r
}\r
\r
/**\r