]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add doxygen style comments for functions in DxeIpl.
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 7 May 2008 06:58:06 +0000 (06:58 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 7 May 2008 06:58:06 +0000 (06:58 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5174 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
MdeModulePkg/Core/DxeIplPeim/DxeLoad.c
MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
MdeModulePkg/Core/DxeIplPeim/Ia32/ImageRead.c
MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.c
MdeModulePkg/Core/DxeIplPeim/Ia32/VirtualMemory.h
MdeModulePkg/Core/DxeIplPeim/Ipf/DxeLoadFunc.c
MdeModulePkg/Core/DxeIplPeim/Ipf/ImageRead.c
MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c

index 498f46947dc464746b269a00fd8ea4613e4250fb..3eac29da295fc13c10fa06b586516541557cfad8 100644 (file)
@@ -55,6 +55,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 extern BOOLEAN gInMemory;\r
 \r
 \r
 extern BOOLEAN gInMemory;\r
 \r
+\r
+\r
+\r
+/**\r
+   Loads and relocates a PE/COFF image into memory.\r
+\r
+   @param FileHandle        The image file handle\r
+   @param ImageAddress      The base address of the relocated PE/COFF image\r
+   @param ImageSize         The size of the relocated PE/COFF image\r
+   @param EntryPoint        The entry point of the relocated PE/COFF image\r
+   \r
+   @return EFI_SUCCESS           The file was loaded and relocated\r
+   @return EFI_OUT_OF_RESOURCES  There was not enough memory to load and relocate the PE/COFF file\r
+\r
+**/\r
 EFI_STATUS\r
 PeiLoadFile (\r
   IN  EFI_PEI_FILE_HANDLE                       FileHandle,\r
 EFI_STATUS\r
 PeiLoadFile (\r
   IN  EFI_PEI_FILE_HANDLE                       FileHandle,\r
@@ -64,18 +79,54 @@ PeiLoadFile (
   )\r
 ;\r
 \r
   )\r
 ;\r
 \r
+\r
+\r
+/**\r
+   Find DxeCore driver from all First Volumes.\r
+\r
+   @param FileHandle    Pointer to FFS file to search.\r
+   \r
+   @return EFI_SUCESS   Success to find the FFS in specificed FV\r
+   @return others       Fail to find the FFS in specificed FV\r
+\r
+**/\r
 EFI_STATUS\r
 DxeIplFindDxeCore (\r
   OUT EFI_PEI_FILE_HANDLE   *FileHandle\r
   )\r
 ;\r
 \r
 EFI_STATUS\r
 DxeIplFindDxeCore (\r
   OUT EFI_PEI_FILE_HANDLE   *FileHandle\r
   )\r
 ;\r
 \r
+\r
+\r
+/**\r
+   This function simply retrieves the function pointer of ImageRead in\r
+   ImageContext structure.\r
+    \r
+   @param ImageContext       A pointer to the structure of \r
+                             PE_COFF_LOADER_IMAGE_CONTEXT\r
+   \r
+   @retval EFI_SUCCESS       This function always return EFI_SUCCESS.\r
+\r
+**/\r
 EFI_STATUS\r
 GetImageReadFunction (\r
   IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
   )\r
 ;\r
 \r
 EFI_STATUS\r
 GetImageReadFunction (\r
   IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
   )\r
 ;\r
 \r
+\r
+\r
+/**\r
+   Main entry point to last PEIM \r
+    \r
+   @param This          Entry point for DXE IPL PPI\r
+   @param PeiServices   General purpose services available to every PEIM.\r
+   @param HobList       Address to the Pei HOB list\r
+   \r
+   @return EFI_SUCCESS              DXE core was successfully loaded. \r
+   @return EFI_OUT_OF_RESOURCES     There are not enough resources to load DXE core.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 DxeLoadCore (\r
 EFI_STATUS\r
 EFIAPI\r
 DxeLoadCore (\r
@@ -84,6 +135,20 @@ DxeLoadCore (
   IN EFI_PEI_HOB_POINTERS  HobList\r
   );\r
 \r
   IN EFI_PEI_HOB_POINTERS  HobList\r
   );\r
 \r
+\r
+\r
+/**\r
+   Transfers control to DxeCore.\r
+\r
+   This function performs a CPU architecture specific operations to execute\r
+   the entry point of DxeCore with the parameters of HobList.\r
+   It also intalls EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
+\r
+   @param DxeCoreEntryPoint         The entrypoint of DxeCore.\r
+   @param HobList                   The start of HobList passed to DxeCore.\r
+   @param EndOfPeiSignal            The PPI descriptor for EFI_END_OF_PEI_PPI.\r
+\r
+**/\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
@@ -91,12 +156,35 @@ HandOffToDxeCore (
   IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal\r
   );\r
 \r
   IN EFI_PEI_PPI_DESCRIPTOR *EndOfPeiSignal\r
   );\r
 \r
+\r
+\r
+/**\r
+   Updates the Stack HOB passed to DXE phase.\r
+\r
+   This function traverses the whole HOB list and update the stack HOB to\r
+   reflect the real stack that is used by DXE core.\r
+\r
+   @param BaseAddress           The lower address of stack used by DxeCore.\r
+   @param Length                The length of stack used by DxeCore.\r
+\r
+**/\r
 VOID\r
 UpdateStackHob (\r
   IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
   IN UINT64                      Length\r
   );\r
 \r
 VOID\r
 UpdateStackHob (\r
   IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
   IN UINT64                      Length\r
   );\r
 \r
+\r
+\r
+/**\r
+  Initializes the Dxe Ipl PPI\r
+\r
+  @param  FfsHandle   The handle of FFS file.\r
+  @param  PeiServices General purpose services available to\r
+                      every PEIM.\r
+  @return EFI_SUCESS\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PeimInitializeDxeIpl (\r
 EFI_STATUS\r
 EFIAPI\r
 PeimInitializeDxeIpl (\r
index 0d5a90f514e94c473173cf74d7153a718f84d631..33d9bfc1f775ade4d093cfbbcbde6d547114c22c 100644 (file)
 \r
 [FixedPcd.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe\r
 \r
 [FixedPcd.common]\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValuePeiHandoffToDxe\r
+\r
 [Depex]\r
   gEfiPeiMemoryDiscoveredPpiGuid\r
 \r
 [Depex]\r
   gEfiPeiMemoryDiscoveredPpiGuid\r
 \r
index 0e0f448cb0716f7b191a2471dd59e091de216472..db9e1dee91b220f098ee962beee7ab675e7d1142 100644 (file)
@@ -16,21 +16,97 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include "DxeIpl.h"\r
 #include <Ppi/GuidedSectionExtraction.h>\r
 \r
 #include "DxeIpl.h"\r
 #include <Ppi/GuidedSectionExtraction.h>\r
 \r
+\r
+\r
+/**\r
+  The ExtractSection() function processes the input section and\r
+  returns a pointer to the section contents. If the section being\r
+  extracted does not require processing (if the section\r
+  GuidedSectionHeader.Attributes has the\r
+  EFI_GUIDED_SECTION_PROCESSING_REQUIRED field cleared), then\r
+  OutputBuffer is just updated to point to the start of the\r
+  section's contents. Otherwise, *Buffer must be allocated\r
+  from PEI permanent memory.\r
+\r
+  @param This                   Indicates the\r
+                                EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI instance.\r
+                                Buffer containing the input GUIDed section to be\r
+                                processed. OutputBuffer OutputBuffer is\r
+                                allocated from PEI permanent memory and contains\r
+                                the new section stream.\r
+  @param CompressionSection     A pointer to the input buffer, which contains\r
+                                the input section to be processed.\r
+  @param OutputBuffer           A pointer to a caller-allocated buffer, whose\r
+                                size is specified by the contents of OutputSize.\r
+  @param OutputSize             A pointer to a caller-allocated\r
+                                UINTN in which the size of *OutputBuffer\r
+                                allocation is stored. If the function\r
+                                returns anything other than EFI_SUCCESS,\r
+                                the value of OutputSize is undefined.\r
+  @param AuthenticationStatus   A pointer to a caller-allocated\r
+                                UINT32 that indicates the\r
+                                authentication status of the\r
+                                output buffer. If the input\r
+                                section's GuidedSectionHeader.\r
+                                Attributes field has the\r
+                                EFI_GUIDED_SECTION_AUTH_STATUS_VALID \r
+                                bit as clear,\r
+                                AuthenticationStatus must return\r
+                                zero. These bits reflect the\r
+                                status of the extraction\r
+                                operation. If the function\r
+                                returns anything other than\r
+                                EFI_SUCCESS, the value of\r
+                                AuthenticationStatus is\r
+                                undefined.\r
+  \r
+  @retval EFI_SUCCESS           The InputSection was\r
+                                successfully processed and the\r
+                                section contents were returned.\r
+  \r
+  @retval EFI_OUT_OF_RESOURCES  The system has insufficient\r
+                                resources to process the request.\r
+  \r
+  @reteval EFI_INVALID_PARAMETER The GUID in InputSection does\r
+                                not match this instance of the\r
+                                GUIDed Section Extraction PPI.\r
+\r
+**/\r
 EFI_STATUS\r
 CustomGuidedSectionExtract (\r
   IN CONST  EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,\r
 EFI_STATUS\r
 CustomGuidedSectionExtract (\r
   IN CONST  EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,\r
-  IN CONST  VOID                                  *InputSection,\r
+  IN CONST  VOID                                  *CompressionSection,\r
   OUT       VOID                                  **OutputBuffer,\r
   OUT       UINTN                                 *OutputSize,\r
   OUT       UINT32                                *AuthenticationStatus\r
 );\r
 \r
   OUT       VOID                                  **OutputBuffer,\r
   OUT       UINTN                                 *OutputSize,\r
   OUT       UINT32                                *AuthenticationStatus\r
 );\r
 \r
-STATIC\r
+\r
+/**\r
+   Decompresses a section to the output buffer.\r
+\r
+   This function lookes up the compression type field in the input section and\r
+   applies the appropriate compression algorithm to compress the section to a\r
+   callee allocated buffer.\r
+    \r
+   @param  This                  Points to this instance of the\r
+                                 EFI_PEI_DECOMPRESS_PEI PPI.\r
+   @param  CompressionSection    Points to the compressed section.\r
+   @param  OutputBuffer          Holds the returned pointer to the decompressed\r
+                                 sections.\r
+   @param  OutputSize            Holds the returned size of the decompress\r
+                                 section streams.\r
+   \r
+   @retval EFI_SUCCESS           The section was decompressed successfully.\r
+                                 OutputBuffer contains the resulting data and\r
+                                 OutputSize contains the resulting size.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI \r
 Decompress (\r
   IN CONST  EFI_PEI_DECOMPRESS_PPI  *This,\r
 EFI_STATUS\r
 EFIAPI \r
 Decompress (\r
   IN CONST  EFI_PEI_DECOMPRESS_PPI  *This,\r
-  IN CONST  EFI_COMPRESSION_SECTION *InputSection,\r
+  IN CONST  EFI_COMPRESSION_SECTION *CompressionSection,\r
   OUT       VOID                    **OutputBuffer,\r
   OUT       UINTN                   *OutputSize\r
 );\r
   OUT       VOID                    **OutputBuffer,\r
   OUT       UINTN                   *OutputSize\r
 );\r
@@ -79,8 +155,9 @@ static EFI_PEI_PPI_DESCRIPTOR     mPpiSignal = {
   @param  FfsHandle   The handle of FFS file.\r
   @param  PeiServices General purpose services available to\r
                       every PEIM.\r
   @param  FfsHandle   The handle of FFS file.\r
   @param  PeiServices General purpose services available to\r
                       every PEIM.\r
-  @return EFI_SUCESS \r
-*/ \r
+  @return EFI_SUCESS\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PeimInitializeDxeIpl (\r
 EFI_STATUS\r
 EFIAPI\r
 PeimInitializeDxeIpl (\r
@@ -117,16 +194,16 @@ PeimInitializeDxeIpl (
       // Install custom extraction guid ppi\r
       //\r
       if (ExtractHandlerNumber > 0) {\r
       // Install custom extraction guid ppi\r
       //\r
       if (ExtractHandlerNumber > 0) {\r
-       GuidPpi = NULL;\r
-       GuidPpi = (EFI_PEI_PPI_DESCRIPTOR *) AllocatePool (ExtractHandlerNumber * sizeof (EFI_PEI_PPI_DESCRIPTOR));\r
-       ASSERT (GuidPpi != NULL);\r
-       while (ExtractHandlerNumber-- > 0) {\r
-         GuidPpi->Flags = EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r
-         GuidPpi->Ppi   = &mCustomGuidedSectionExtractionPpi;\r
-         GuidPpi->Guid  = &(ExtractHandlerGuidTable [ExtractHandlerNumber]);\r
-         Status = PeiServicesInstallPpi (GuidPpi++);\r
-         ASSERT_EFI_ERROR(Status);\r
-       }\r
+        GuidPpi = NULL;\r
+        GuidPpi = (EFI_PEI_PPI_DESCRIPTOR *) AllocatePool (ExtractHandlerNumber * sizeof (EFI_PEI_PPI_DESCRIPTOR));\r
+        ASSERT (GuidPpi != NULL);\r
+        while (ExtractHandlerNumber-- > 0) {\r
+          GuidPpi->Flags = EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r
+          GuidPpi->Ppi   = &mCustomGuidedSectionExtractionPpi;\r
+          GuidPpi->Guid  = &(ExtractHandlerGuidTable [ExtractHandlerNumber]);\r
+          Status = PeiServicesInstallPpi (GuidPpi++);\r
+          ASSERT_EFI_ERROR(Status);\r
+        }\r
       }\r
     } else {\r
       ASSERT (FALSE);\r
       }\r
     } else {\r
       ASSERT (FALSE);\r
@@ -151,6 +228,7 @@ PeimInitializeDxeIpl (
    \r
    @return EFI_SUCCESS              DXE core was successfully loaded. \r
    @return EFI_OUT_OF_RESOURCES     There are not enough resources to load DXE core.\r
    \r
    @return EFI_SUCCESS              DXE core was successfully loaded. \r
    @return EFI_OUT_OF_RESOURCES     There are not enough resources to load DXE core.\r
+\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -183,7 +261,7 @@ DxeLoadCore (
   } else if (BootMode == BOOT_IN_RECOVERY_MODE) {\r
     Status = PeiRecoverFirmware ();\r
     if (EFI_ERROR (Status)) {\r
   } else if (BootMode == BOOT_IN_RECOVERY_MODE) {\r
     Status = PeiRecoverFirmware ();\r
     if (EFI_ERROR (Status)) {\r
-      DEBUG ((EFI_D_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));\r
+      DEBUG ((DEBUG_ERROR, "Load Recovery Capsule Failed.(Status = %r)\n", Status));\r
       CpuDeadLoop ();\r
     }\r
 \r
       CpuDeadLoop ();\r
     }\r
 \r
@@ -266,12 +344,12 @@ DxeLoadCore (
     PtrPeImage.Pe32 = (EFI_IMAGE_NT_HEADERS32 *) ((UINTN) DxeCoreAddress + ((EFI_IMAGE_DOS_HEADER *) (UINTN) DxeCoreAddress)->e_lfanew);\r
     \r
     if (PtrPeImage.Pe32->FileHeader.Machine != IMAGE_FILE_MACHINE_IA64) {\r
     PtrPeImage.Pe32 = (EFI_IMAGE_NT_HEADERS32 *) ((UINTN) DxeCoreAddress + ((EFI_IMAGE_DOS_HEADER *) (UINTN) DxeCoreAddress)->e_lfanew);\r
     \r
     if (PtrPeImage.Pe32->FileHeader.Machine != IMAGE_FILE_MACHINE_IA64) {\r
-      DEBUG ((EFI_D_INFO | EFI_D_LOAD, "Loading DXE CORE at 0x%10p EntryPoint=0x%10p\n", (VOID *)(UINTN)DxeCoreAddress, (VOID *)(UINTN)DxeCoreEntryPoint));\r
+      DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Loading DXE CORE at 0x%10p EntryPoint=0x%10p\n", (VOID *)(UINTN)DxeCoreAddress, (VOID *)(UINTN)DxeCoreEntryPoint));\r
     } else {\r
       //\r
       // For IPF Image, the real entry point should be print.\r
       //\r
     } else {\r
       //\r
       // For IPF Image, the real entry point should be print.\r
       //\r
-      DEBUG ((EFI_D_INFO | EFI_D_LOAD, "Loading DXE CORE at 0x%10p EntryPoint=0x%10p\n", (VOID *)(UINTN)DxeCoreAddress, (VOID *)(UINTN)(*(UINT64 *)(UINTN)DxeCoreEntryPoint)));\r
+      DEBUG ((DEBUG_INFO | DEBUG_LOAD, "Loading DXE CORE at 0x%10p EntryPoint=0x%10p\n", (VOID *)(UINTN)DxeCoreAddress, (VOID *)(UINTN)(*(UINT64 *)(UINTN)DxeCoreEntryPoint)));\r
     }\r
 \r
   DEBUG_CODE_END ();\r
     }\r
 \r
   DEBUG_CODE_END ();\r
@@ -290,6 +368,9 @@ DxeLoadCore (
   return EFI_OUT_OF_RESOURCES;\r
 }\r
 \r
   return EFI_OUT_OF_RESOURCES;\r
 }\r
 \r
+\r
+\r
+\r
 /**\r
    Find DxeCore driver from all First Volumes.\r
 \r
 /**\r
    Find DxeCore driver from all First Volumes.\r
 \r
@@ -297,7 +378,8 @@ DxeLoadCore (
    \r
    @return EFI_SUCESS   Success to find the FFS in specificed FV\r
    @return others       Fail to find the FFS in specificed FV\r
    \r
    @return EFI_SUCESS   Success to find the FFS in specificed FV\r
    @return others       Fail to find the FFS in specificed FV\r
- */\r
+\r
+**/\r
 EFI_STATUS\r
 DxeIplFindDxeCore (\r
   OUT EFI_PEI_FILE_HANDLE   *FileHandle\r
 EFI_STATUS\r
 DxeIplFindDxeCore (\r
   OUT EFI_PEI_FILE_HANDLE   *FileHandle\r
@@ -324,6 +406,9 @@ DxeIplFindDxeCore (
   return EFI_NOT_FOUND;\r
 }\r
 \r
   return EFI_NOT_FOUND;\r
 }\r
 \r
+\r
+\r
+\r
 /**\r
    Loads and relocates a PE/COFF image into memory.\r
 \r
 /**\r
    Loads and relocates a PE/COFF image into memory.\r
 \r
@@ -334,6 +419,7 @@ DxeIplFindDxeCore (
    \r
    @return EFI_SUCCESS           The file was loaded and relocated\r
    @return EFI_OUT_OF_RESOURCES  There was not enough memory to load and relocate the PE/COFF file\r
    \r
    @return EFI_SUCCESS           The file was loaded and relocated\r
    @return EFI_OUT_OF_RESOURCES  There was not enough memory to load and relocate the PE/COFF file\r
+\r
 **/\r
 EFI_STATUS\r
 PeiLoadFile (\r
 **/\r
 EFI_STATUS\r
 PeiLoadFile (\r
@@ -406,6 +492,9 @@ PeiLoadFile (
   return EFI_SUCCESS;\r
 }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+\r
+\r
 /**\r
   The ExtractSection() function processes the input section and\r
   returns a pointer to the section contents. If the section being\r
 /**\r
   The ExtractSection() function processes the input section and\r
   returns a pointer to the section contents. If the section being\r
@@ -422,13 +511,15 @@ PeiLoadFile (
                                 processed. OutputBuffer OutputBuffer is\r
                                 allocated from PEI permanent memory and contains\r
                                 the new section stream.\r
                                 processed. OutputBuffer OutputBuffer is\r
                                 allocated from PEI permanent memory and contains\r
                                 the new section stream.\r
-  \r
+  @param InputSection           A pointer to the input buffer, which contains\r
+                                the input section to be processed.\r
+  @param OutputBuffer           A pointer to a caller-allocated buffer, whose\r
+                                size is specified by the contents of OutputSize.\r
   @param OutputSize             A pointer to a caller-allocated\r
                                 UINTN in which the size of *OutputBuffer\r
                                 allocation is stored. If the function\r
                                 returns anything other than EFI_SUCCESS,\r
                                 the value of OutputSize is undefined.\r
   @param OutputSize             A pointer to a caller-allocated\r
                                 UINTN in which the size of *OutputBuffer\r
                                 allocation is stored. If the function\r
                                 returns anything other than EFI_SUCCESS,\r
                                 the value of OutputSize is undefined.\r
-  \r
   @param AuthenticationStatus   A pointer to a caller-allocated\r
                                 UINT32 that indicates the\r
                                 authentication status of the\r
   @param AuthenticationStatus   A pointer to a caller-allocated\r
                                 UINT32 that indicates the\r
                                 authentication status of the\r
@@ -456,6 +547,7 @@ PeiLoadFile (
   @reteval EFI_INVALID_PARAMETER The GUID in InputSection does\r
                                 not match this instance of the\r
                                 GUIDed Section Extraction PPI.\r
   @reteval EFI_INVALID_PARAMETER The GUID in InputSection does\r
                                 not match this instance of the\r
                                 GUIDed Section Extraction PPI.\r
+\r
 **/\r
 EFI_STATUS\r
 CustomGuidedSectionExtract (\r
 **/\r
 EFI_STATUS\r
 CustomGuidedSectionExtract (\r
@@ -488,7 +580,7 @@ CustomGuidedSectionExtract (
            );\r
   \r
   if (EFI_ERROR (Status)) {\r
            );\r
   \r
   if (EFI_ERROR (Status)) {\r
-    DEBUG ((EFI_D_ERROR, "GetInfo from guided section Failed - %r\n", Status));\r
+    DEBUG ((DEBUG_ERROR, "GetInfo from guided section Failed - %r\n", Status));\r
     return Status;\r
   }\r
   \r
     return Status;\r
   }\r
   \r
@@ -510,7 +602,7 @@ CustomGuidedSectionExtract (
     if (*OutputBuffer == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
     }\r
     if (*OutputBuffer == NULL) {\r
       return EFI_OUT_OF_RESOURCES;\r
     }\r
-    DEBUG ((EFI_D_INFO, "Customed Guided section Memory Size required is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer));\r
+    DEBUG ((DEBUG_INFO, "Customed Guided section Memory Size required is 0x%x and address is 0x%p\n", OutputBufferSize, *OutputBuffer));\r
     //\r
     // *OutputBuffer still is one section. Adjust *OutputBuffer offset, \r
     // skip EFI section header to make section data at page alignment.\r
     //\r
     // *OutputBuffer still is one section. Adjust *OutputBuffer offset, \r
     // skip EFI section header to make section data at page alignment.\r
@@ -529,7 +621,7 @@ CustomGuidedSectionExtract (
     //\r
     // Decode failed\r
     //\r
     //\r
     // Decode failed\r
     //\r
-    DEBUG ((EFI_D_ERROR, "Extract guided section Failed - %r\n", Status));\r
+    DEBUG ((DEBUG_ERROR, "Extract guided section Failed - %r\n", Status));\r
     return Status;\r
   }\r
   \r
     return Status;\r
   }\r
   \r
@@ -538,7 +630,28 @@ CustomGuidedSectionExtract (
   return EFI_SUCCESS;\r
 }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
-STATIC\r
+\r
+\r
+/**\r
+   Decompresses a section to the output buffer.\r
+\r
+   This function lookes up the compression type field in the input section and\r
+   applies the appropriate compression algorithm to compress the section to a\r
+   callee allocated buffer.\r
+    \r
+   @param  This                  Points to this instance of the\r
+                                 EFI_PEI_DECOMPRESS_PEI PPI.\r
+   @param  CompressionSection    Points to the compressed section.\r
+   @param  OutputBuffer          Holds the returned pointer to the decompressed\r
+                                 sections.\r
+   @param  OutputSize            Holds the returned size of the decompress\r
+                                 section streams.\r
+   \r
+   @retval EFI_SUCCESS           The section was decompressed successfully.\r
+                                 OutputBuffer contains the resulting data and\r
+                                 OutputSize contains the resulting size.\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI \r
 Decompress (\r
 EFI_STATUS\r
 EFIAPI \r
 Decompress (\r
@@ -583,7 +696,7 @@ Decompress (
       //\r
       // GetInfo failed\r
       //\r
       //\r
       // GetInfo failed\r
       //\r
-      DEBUG ((EFI_D_ERROR, "Decompress GetInfo Failed - %r\n", Status));\r
+      DEBUG ((DEBUG_ERROR, "Decompress GetInfo Failed - %r\n", Status));\r
       return EFI_NOT_FOUND;\r
     }\r
     //\r
       return EFI_NOT_FOUND;\r
     }\r
     //\r
@@ -617,7 +730,7 @@ Decompress (
       //\r
       // Decompress failed\r
       //\r
       //\r
       // Decompress failed\r
       //\r
-      DEBUG ((EFI_D_ERROR, "Decompress Failed - %r\n", Status));\r
+      DEBUG ((DEBUG_ERROR, "Decompress Failed - %r\n", Status));\r
       return EFI_NOT_FOUND;\r
     }\r
     break;\r
       return EFI_NOT_FOUND;\r
     }\r
     break;\r
@@ -656,6 +769,19 @@ Decompress (
   return EFI_SUCCESS;\r
 }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+\r
+\r
+/**\r
+   Updates the Stack HOB passed to DXE phase.\r
+\r
+   This function traverses the whole HOB list and update the stack HOB to\r
+   reflect the real stack that is used by DXE core.\r
+\r
+   @param BaseAddress           The lower address of stack used by DxeCore.\r
+   @param Length                The length of stack used by DxeCore.\r
+\r
+**/\r
 VOID\r
 UpdateStackHob (\r
   IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
 VOID\r
 UpdateStackHob (\r
   IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
index e42b8acc36082b6db968fbbda77d1c7c1a336298..7dfb3407b4deaccff5a834d9c0079f816bbe5cd9 100644 (file)
@@ -44,6 +44,22 @@ GLOBAL_REMOVE_IF_UNREFERENCED  IA32_DESCRIPTOR gLidtDescriptor = {
   0\r
 };\r
 \r
   0\r
 };\r
 \r
+\r
+\r
+\r
+\r
+/**\r
+   Transfers control to DxeCore.\r
+\r
+   This function performs a CPU architecture specific operations to execute\r
+   the entry point of DxeCore with the parameters of HobList.\r
+   It also intalls EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
+\r
+   @param DxeCoreEntryPoint         The entrypoint of DxeCore.\r
+   @param HobList                   The start of HobList passed to DxeCore.\r
+   @param EndOfPeiSignal            The PPI descriptor for EFI_END_OF_PEI_PPI.\r
+\r
+**/\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
index b6278154d1451b793e7bc00e0634efa6dc045b60..1a5135c4dc71c697ab877e9ee20374e3e8544fbd 100644 (file)
@@ -14,6 +14,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "DxeIpl.h"\r
 \r
 \r
 #include "DxeIpl.h"\r
 \r
+\r
+\r
+\r
+\r
+/**\r
+  Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
+\r
+  @param  FileHandle   The handle to the PE/COFF file \r
+  @param  FileOffset   The offset, in bytes, into the file to read \r
+  @param  ReadSize     The number of bytes to read from the file starting at \r
+                       FileOffset \r
+  @param  Buffer       A pointer to the buffer to read the data into. \r
+\r
+  @retval EFI_SUCCESS  ReadSize bytes of data were read into Buffer from the \r
+                       PE/COFF file starting at FileOffset\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 PeiImageRead (\r
 EFI_STATUS\r
 EFIAPI\r
 PeiImageRead (\r
@@ -22,27 +39,6 @@ PeiImageRead (
   IN OUT UINTN   *ReadSize,\r
   OUT    VOID    *Buffer\r
   )\r
   IN OUT UINTN   *ReadSize,\r
   OUT    VOID    *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
-\r
-Arguments:\r
-\r
-  FileHandle - The handle to the PE/COFF file\r
-\r
-  FileOffset - The offset, in bytes, into the file to read\r
-\r
-  ReadSize   - The number of bytes to read from the file starting at FileOffset\r
-\r
-  Buffer     - A pointer to the buffer to read the data into.\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - ReadSize bytes of data were read into Buffer from the PE/COFF file starting at FileOffset\r
-\r
---*/\r
 {\r
   UINT8 *Destination32;\r
   UINT8 *Source32;\r
 {\r
   UINT8 *Destination32;\r
   UINT8 *Source32;\r
@@ -66,24 +62,24 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_STATUS\r
-GetImageReadFunction (\r
-  IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
-  )\r
-/*++\r
 \r
 \r
-Routine Description:\r
-  Support routine to return the PE32 Image Reader.\r
-  If the PeiImageRead() function is less than a page\r
-  in legnth. If the function is more than a page the DXE IPL will crash!!!!\r
 \r
 \r
-Arguments:\r
-  ImageContext  - The context of the image being loaded\r
 \r
 \r
-Returns:\r
-  EFI_SUCCESS - If Image function location is found\r
 \r
 \r
---*/\r
+/**\r
+   This function simply retrieves the function pointer of ImageRead in\r
+   ImageContext structure.\r
+    \r
+   @param ImageContext       A pointer to the structure of \r
+                             PE_COFF_LOADER_IMAGE_CONTEXT\r
+   \r
+   @retval EFI_SUCCESS       This function always return EFI_SUCCESS.\r
+\r
+**/\r
+EFI_STATUS\r
+GetImageReadFunction (\r
+  IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
+  )\r
 {\r
   VOID        *MemoryBuffer;\r
 \r
 {\r
   VOID        *MemoryBuffer;\r
 \r
index 38b242c269c953af0a240fa0aed18280b1ef9175..25fb37ea8e218c8b113fc1cdd5fe476e90743d53 100644 (file)
@@ -30,28 +30,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include "VirtualMemory.h"\r
 \r
 \r
 #include "VirtualMemory.h"\r
 \r
 \r
-UINTN\r
-CreateIdentityMappingPageTables (\r
-  VOID\r
-  )\r
-/*++\r
 \r
 \r
-Routine Description:\r
 \r
 \r
-  Allocates and fills in the Page Directory and Page Table Entries to\r
-  establish a 1:1 Virtual to Physical mapping.\r
 \r
 \r
-Arguments:\r
 \r
 \r
-  NumberOfProcessorPhysicalAddressBits - Number of processor address bits to use.\r
-                                         Limits the number of page table entries \r
-                                         to the physical address space.\r
+/**\r
+  Allocates and fills in the Page Directory and Page Table Entries to\r
+  establish a 1:1 Virtual to Physical mapping.\r
 \r
 \r
-Returns:\r
+  @param  NumberOfProcessorPhysicalAddressBits  Number of processor address bits \r
+                                                to use. Limits the number of page \r
+                                                table entries  to the physical \r
+                                                address space. \r
 \r
 \r
-  EFI_SUCCESS           The 1:1 Virtual to Physical identity mapping was created\r
+  @return EFI_SUCCESS           The 1:1 Virtual to Physical identity mapping was created\r
 \r
 \r
---*/\r
+**/\r
+UINTN\r
+CreateIdentityMappingPageTables (\r
+  VOID\r
+  )\r
 {  \r
   UINT8                                         PhysicalAddressBits;\r
   EFI_PHYSICAL_ADDRESS                          PageAddress;\r
 {  \r
   UINT8                                         PhysicalAddressBits;\r
   EFI_PHYSICAL_ADDRESS                          PageAddress;\r
@@ -159,6 +157,6 @@ Returns:
        );\r
   }\r
 \r
        );\r
   }\r
 \r
-  return (UINTN)PageMap; // FIXME\r
+  return (UINTN)PageMap;\r
 }\r
 \r
 }\r
 \r
index 9e824ed28084a218959dadc60d04dc10198e6b06..5bb3e43786243ee3f45c59b62074f46b82ca2b11 100644 (file)
@@ -99,6 +99,20 @@ typedef union {
 \r
 #pragma pack()\r
 \r
 \r
 #pragma pack()\r
 \r
+\r
+\r
+/**\r
+  Allocates and fills in the Page Directory and Page Table Entries to\r
+  establish a 1:1 Virtual to Physical mapping.\r
+\r
+  @param  NumberOfProcessorPhysicalAddressBits  Number of processor address bits \r
+                                                to use. Limits the number of page \r
+                                                table entries  to the physical \r
+                                                address space. \r
+\r
+  @return EFI_SUCCESS           The 1:1 Virtual to Physical identity mapping was created\r
+\r
+**/\r
 UINTN\r
 CreateIdentityMappingPageTables (\r
   VOID\r
 UINTN\r
 CreateIdentityMappingPageTables (\r
   VOID\r
@@ -106,6 +120,9 @@ CreateIdentityMappingPageTables (
 ;\r
 \r
 \r
 ;\r
 \r
 \r
+\r
+\r
+\r
 /**\r
  \r
   Fix up the vector number in the vector code.\r
 /**\r
  \r
   Fix up the vector number in the vector code.\r
@@ -113,7 +130,7 @@ CreateIdentityMappingPageTables (
   @param VectorBase   Base address of the vector handler.\r
  \r
   @param VectorNum    Index of vector.\r
   @param VectorBase   Base address of the vector handler.\r
  \r
   @param VectorNum    Index of vector.\r
\r
+\r
 **/\r
 VOID\r
 EFIAPI\r
 **/\r
 VOID\r
 EFIAPI\r
@@ -123,6 +140,9 @@ AsmVectorFixup (
   );\r
 \r
 \r
   );\r
 \r
 \r
+\r
+\r
+\r
 /**\r
  \r
   Get the information of vector template.\r
 /**\r
  \r
   Get the information of vector template.\r
@@ -130,7 +150,7 @@ AsmVectorFixup (
   @param TemplateBase   Base address of the template code.\r
  \r
   @return               Size of the Template code.\r
   @param TemplateBase   Base address of the template code.\r
  \r
   @return               Size of the Template code.\r
\r
+\r
 **/\r
 UINTN\r
 EFIAPI\r
 **/\r
 UINTN\r
 EFIAPI\r
index b27521d896a3b7f7dc60ad04600d0439bdf26781..c31cba8dcf1f9150267c33ada8aba64e78afdb3e 100644 (file)
@@ -14,6 +14,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "DxeIpl.h"\r
 \r
 \r
 #include "DxeIpl.h"\r
 \r
+\r
+\r
+/**\r
+   Transfers control to DxeCore.\r
+\r
+   This function performs a CPU architecture specific operations to execute\r
+   the entry point of DxeCore with the parameters of HobList.\r
+   It also intalls EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
+\r
+   @param DxeCoreEntryPoint         The entrypoint of DxeCore.\r
+   @param HobList                   The start of HobList passed to DxeCore.\r
+   @param EndOfPeiSignal            The PPI descriptor for EFI_END_OF_PEI_PPI.\r
+\r
+**/\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
index f449ecad9a3583f611ab6e3356b3152043b25e67..fd827248a19b74a2c5acfc8dab17a6c61a19db6e 100644 (file)
@@ -14,6 +14,21 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "DxeIpl.h"\r
 \r
 \r
 #include "DxeIpl.h"\r
 \r
+\r
+\r
+/**\r
+  Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
+\r
+  @param  FileHandle   The handle to the PE/COFF file \r
+  @param  FileOffset   The offset, in bytes, into the file to read \r
+  @param  ReadSize     The number of bytes to read from the file starting at \r
+                       FileOffset \r
+  @param  Buffer       A pointer to the buffer to read the data into. \r
+\r
+  @retval EFI_SUCCESS  ReadSize bytes of data were read into Buffer from the \r
+                       PE/COFF file starting at FileOffset\r
+\r
+**/\r
 EFI_STATUS\r
 PeiImageRead (\r
   IN     VOID    *FileHandle,\r
 EFI_STATUS\r
 PeiImageRead (\r
   IN     VOID    *FileHandle,\r
@@ -21,27 +36,6 @@ PeiImageRead (
   IN OUT UINTN   *ReadSize,\r
   OUT    VOID    *Buffer\r
   )\r
   IN OUT UINTN   *ReadSize,\r
   OUT    VOID    *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Support routine for the PE/COFF Loader that reads a buffer from a PE/COFF file\r
-\r
-Arguments:\r
-\r
-  FileHandle - The handle to the PE/COFF file\r
-\r
-  FileOffset - The offset, in bytes, into the file to read\r
-\r
-  ReadSize   - The number of bytes to read from the file starting at FileOffset\r
-\r
-  Buffer     - A pointer to the buffer to read the data into.\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - ReadSize bytes of data were read into Buffer from the PE/COFF file starting at FileOffset\r
-\r
---*/\r
 {\r
   CHAR8 *Destination8;\r
   CHAR8 *Source8;\r
 {\r
   CHAR8 *Destination8;\r
   CHAR8 *Source8;\r
@@ -55,6 +49,17 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
+\r
+/**\r
+   This function simply retrieves the function pointer of ImageRead in\r
+   ImageContext structure.\r
+    \r
+   @param ImageContext       A pointer to the structure of \r
+                             PE_COFF_LOADER_IMAGE_CONTEXT\r
+   \r
+   @retval EFI_SUCCESS       This function always return EFI_SUCCESS.\r
+\r
+**/\r
 EFI_STATUS\r
 GetImageReadFunction (\r
   IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
 EFI_STATUS\r
 GetImageReadFunction (\r
   IN      PE_COFF_LOADER_IMAGE_CONTEXT  *ImageContext\r
index 5451a7c9261d6321f1e3cecc0f3fcbd1f4e74133..4fca3f6ac7f535c22ff0fab784c0ae74156339d9 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
 /** @file\r
-  Ia32-specifc functionality for DxeLoad.\r
+  x64-specifc functionality for DxeLoad.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -14,6 +14,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "DxeIpl.h"\r
 \r
 \r
 #include "DxeIpl.h"\r
 \r
+\r
+\r
+/**\r
+   Transfers control to DxeCore.\r
+\r
+   This function performs a CPU architecture specific operations to execute\r
+   the entry point of DxeCore with the parameters of HobList.\r
+   It also intalls EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
+\r
+   @param DxeCoreEntryPoint         The entrypoint of DxeCore.\r
+   @param HobList                   The start of HobList passed to DxeCore.\r
+   @param EndOfPeiSignal            The PPI descriptor for EFI_END_OF_PEI_PPI.\r
+\r
+**/\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
 VOID\r
 HandOffToDxeCore (\r
   IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r