#include "PeiLib.h"\r
#include "PeCoffLoaderEx.h"\r
\r
-#ifdef EFI_NT_EMULATOR\r
-#include "peilib.h"\r
-#include "EfiHobLib.h"\r
-#include EFI_PPI_DEFINITION (NtLoadAsDll)\r
-#endif\r
\r
STATIC\r
EFI_STATUS\r
PeCoffLoaderUnloadImage\r
};\r
\r
-#ifdef EFI_NT_EMULATOR\r
-EFI_NT_LOAD_AS_DLL_PPI *mPeCoffLoaderWinNtLoadAsDll = NULL;\r
-#endif\r
\r
EFI_STATUS\r
InstallEfiPeiPeCoffLoader (\r
\r
--*/\r
{\r
- EFI_STATUS Status;\r
-\r
- Status = EFI_SUCCESS;\r
-\r
-#ifdef EFI_NT_EMULATOR\r
- //\r
- // For use by PEI Core and Modules\r
- //\r
- if (NULL != PeiServices) {\r
- Status = (**PeiServices).LocatePpi (\r
- PeiServices,\r
- &gEfiNtLoadAsDllPpiGuid,\r
- 0,\r
- NULL,\r
- &mPeCoffLoaderWinNtLoadAsDll\r
- );\r
- } else {\r
- //\r
- // Now in SecMain or ERM usage, bind appropriately\r
- //\r
- PEI_ASSERT (PeiServices, (NULL != ThisPpi));\r
-\r
- mPeCoffLoaderWinNtLoadAsDll = (EFI_NT_LOAD_AS_DLL_PPI *) ThisPpi;\r
- PEI_ASSERT (PeiServices, (NULL != mPeCoffLoaderWinNtLoadAsDll));\r
- }\r
-#endif\r
-\r
if (NULL != This) {\r
*This = &mPeCoffLoader;\r
}\r
\r
- return Status;\r
+ return EFI_SUCCESS;\r
}\r
\r
STATIC\r
UINT32 *F32;\r
CHAR8 *FixupData;\r
EFI_PHYSICAL_ADDRESS BaseAddress;\r
-#ifdef EFI_NT_EMULATOR\r
- VOID *DllEntryPoint;\r
- VOID *ModHandle;\r
- ModHandle = NULL;\r
-#endif\r
\r
PeHdr = NULL;\r
TeHdr = NULL;\r
RelocBase = (EFI_IMAGE_BASE_RELOCATION *) RelocEnd;\r
}\r
\r
-#ifdef EFI_NT_EMULATOR\r
- DllEntryPoint = NULL;\r
- ImageContext->ModHandle = NULL;\r
- //\r
- // Load the DLL if it's not an EBC image.\r
- //\r
- if ((ImageContext->PdbPointer != NULL) && \r
- (ImageContext->Machine != EFI_IMAGE_MACHINE_EBC)) {\r
- Status = mPeCoffLoaderWinNtLoadAsDll->Entry (\r
- ImageContext->PdbPointer,\r
- &DllEntryPoint,\r
- &ModHandle\r
- );\r
-\r
- if (!EFI_ERROR (Status) && DllEntryPoint != NULL) {\r
- ImageContext->EntryPoint = (EFI_PHYSICAL_ADDRESS) (UINTN) DllEntryPoint;\r
- ImageContext->ModHandle = ModHandle;\r
- }\r
- }\r
-#endif\r
-\r
return EFI_SUCCESS;\r
}\r
\r
\r
--*/\r
{\r
-#ifdef EFI_NT_EMULATOR\r
- //\r
- // Calling Win32 API free library\r
- //\r
- mPeCoffLoaderWinNtLoadAsDll->FreeLibrary (ImageContext->ModHandle);\r
-\r
-#endif\r
-\r
return EFI_SUCCESS;\r
}\r