/**@file\r
\r
-Copyright (c) 2006, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
Module Name:\r
\r
//\r
// The package level header files this module uses\r
//\r
-#include <FrameworkPei.h>\r
-#include <FrameworkModulePei.h>\r
+#include <PiPei.h>\r
#include <WinNtPeim.h>\r
\r
//\r
}\r
\r
/**\r
- Applies additional actions to relocate fixups to a PE/COFF image.\r
+ Performs additional actions after a PE/COFF image has been loaded and relocated.\r
\r
- Generally this function is called after sucessfully Applying relocation fixups \r
- to a PE/COFF image for some specicial purpose. \r
- As a example, For NT32 emulator, the function should be implemented and called\r
- to support source level debug. \r
- \r
- @param ImageContext Pointer to the image context structure that describes the PE/COFF\r
- image that is being relocated.\r
+ For NT32, this function load symbols to support source level debugging.\r
+\r
+ If ImageContext is NULL, then ASSERT().\r
+\r
+ @param ImageContext Pointer to the image context structure that describes the\r
+ PE/COFF image that has already been loaded and relocated.\r
\r
**/\r
VOID\r
HMODULE Library;\r
UINTN Index;\r
\r
+ ASSERT (ImageContext != NULL);\r
+\r
if (mWinNt == NULL) {\r
Nt32PeCoffGetWinNtThunkStucture ();\r
}\r
// If we load our own PE COFF images the Windows debugger can not source\r
// level debug our code. If a valid PDB pointer exists usw it to load\r
// the *.dll file as a library using Windows* APIs. This allows \r
- // source level debug. The image is still loaded and reloaced\r
+ // source level debug. The image is still loaded and relocated\r
// in the Framework memory space like on a real system (by the code above),\r
// but the entry point points into the DLL loaded by the code bellow. \r
//\r
if (Library != NULL) {\r
//\r
// InitializeDriver is the entry point we put in all our EFI DLL's. The\r
- // DONT_RESOLVE_DLL_REFERENCES argument to LoadLIbraryEx() supresses the \r
+ // DONT_RESOLVE_DLL_REFERENCES argument to LoadLIbraryEx() suppresses the \r
// normal DLL entry point of DllMain, and prevents other modules that are\r
// referenced in side the DllFileName from being loaded. There is no error \r
// checking as the we can point to the PE32 image loaded by Tiano. This \r
- // step is only needed for source level debuging\r
+ // step is only needed for source level debugging\r
//\r
DllEntryPoint = (VOID *) (UINTN) mWinNt->GetProcAddress (Library, "InitializeDriver");\r
\r
} \r
\r
/**\r
- Unloads a loaded PE/COFF image from memory and releases its taken resource.\r
- \r
- Releases any environment specific resources that were allocated when the image \r
- specified by ImageContext was loaded using PeCoffLoaderLoadImage(). \r
- For NT32 emulator, the PE/COFF image loaded by system needs to release.\r
- For real platform, the PE/COFF image loaded by Core doesn't needs to be unloaded, \r
+ Performs additional actions just before a PE/COFF image is unloaded. Any resources\r
+ that were allocated by PeCoffLoaderRelocateImageExtraAction() must be freed.\r
\r
+ For NT32, this function unloads symbols for source level debugging.\r
+\r
If ImageContext is NULL, then ASSERT().\r
\r
- @param ImageContext Pointer to the image context structure that describes the PE/COFF\r
- image to be unloaded.\r
+ @param ImageContext Pointer to the image context structure that describes the\r
+ PE/COFF image that is being unloaded.\r
\r
**/\r
VOID\r
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext\r
)\r
{\r
-}
\ No newline at end of file
+ ASSERT (ImageContext != NULL);\r
+}\r