]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/DxeIpl.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / DxeIpl.h
index 97086345ad9d2fc03e27fb5cbbbe73d6189a8eeb..2f015befceca66375f9393928714c55beb626afb 100644 (file)
@@ -2,14 +2,8 @@
   Master header file for DxeIpl PEIM. All source files in this module should\r
   include this file for common definitions.\r
 \r
   Master header file for DxeIpl PEIM. All source files in this module should\r
   include this file for common definitions.\r
 \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-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 - 2019, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 \r
 **/\r
 \r
@@ -27,6 +21,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Ppi/LoadFile.h>\r
 #include <Ppi/S3Resume2.h>\r
 #include <Ppi/RecoveryModule.h>\r
 #include <Ppi/LoadFile.h>\r
 #include <Ppi/S3Resume2.h>\r
 #include <Ppi/RecoveryModule.h>\r
+#include <Ppi/CapsuleOnDisk.h>\r
+#include <Ppi/VectorHandoffInfo.h>\r
 \r
 #include <Guid/MemoryTypeInformation.h>\r
 #include <Guid/MemoryAllocationHob.h>\r
 \r
 #include <Guid/MemoryTypeInformation.h>\r
 #include <Guid/MemoryAllocationHob.h>\r
@@ -43,20 +39,36 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
 #include <Library/PcdLib.h>\r
-#include <Library/S3Lib.h>\r
-#include <Library/RecoveryLib.h>\r
 #include <Library/DebugAgentLib.h>\r
 #include <Library/PeiServicesTablePointerLib.h>\r
 #include <Library/DebugAgentLib.h>\r
 #include <Library/PeiServicesTablePointerLib.h>\r
+#include <Library/PerformanceLib.h>\r
 \r
 #define STACK_SIZE      0x20000\r
 #define BSP_STORE_SIZE  0x4000\r
 \r
 \r
 #define STACK_SIZE      0x20000\r
 #define BSP_STORE_SIZE  0x4000\r
 \r
-\r
 //\r
 // This PPI is installed to indicate the end of the PEI usage of memory\r
 //\r
 //\r
 // This PPI is installed to indicate the end of the PEI usage of memory\r
 //\r
-extern CONST EFI_PEI_PPI_DESCRIPTOR gEndOfPeiSignalPpi;\r
+extern CONST EFI_PEI_PPI_DESCRIPTOR  gEndOfPeiSignalPpi;\r
+\r
+/**\r
+   This function installs the PPIs that require permanent memory.\r
+\r
+   @param  PeiServices      Indirect reference to the PEI Services Table.\r
+   @param  NotifyDescriptor Address of the notification descriptor data structure.\r
+   @param  Ppi              Address of the PPI that was installed.\r
 \r
 \r
+   @return EFI_SUCCESS      The PPIs were installed successfully.\r
+   @return Others           Some error occurs during the execution of this function.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+InstallIplPermanentMemoryPpis (\r
+  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,\r
+  IN VOID                       *Ppi\r
+  );\r
 \r
 /**\r
    Searches DxeCore in all firmware Volumes and loads the first\r
 \r
 /**\r
    Searches DxeCore in all firmware Volumes and loads the first\r
@@ -70,7 +82,6 @@ DxeIplFindDxeCore (
   VOID\r
   );\r
 \r
   VOID\r
   );\r
 \r
-\r
 /**\r
    Main entry point to last PEIM\r
 \r
 /**\r
    Main entry point to last PEIM\r
 \r
@@ -85,13 +96,11 @@ DxeIplFindDxeCore (
 EFI_STATUS\r
 EFIAPI\r
 DxeLoadCore (\r
 EFI_STATUS\r
 EFIAPI\r
 DxeLoadCore (\r
-  IN CONST EFI_DXE_IPL_PPI *This,\r
-  IN EFI_PEI_SERVICES      **PeiServices,\r
-  IN EFI_PEI_HOB_POINTERS  HobList\r
+  IN CONST EFI_DXE_IPL_PPI  *This,\r
+  IN EFI_PEI_SERVICES       **PeiServices,\r
+  IN EFI_PEI_HOB_POINTERS   HobList\r
   );\r
 \r
   );\r
 \r
-\r
-\r
 /**\r
    Transfers control to DxeCore.\r
 \r
 /**\r
    Transfers control to DxeCore.\r
 \r
@@ -105,12 +114,10 @@ DxeLoadCore (
 **/\r
 VOID\r
 HandOffToDxeCore (\r
 **/\r
 VOID\r
 HandOffToDxeCore (\r
-  IN EFI_PHYSICAL_ADDRESS   DxeCoreEntryPoint,\r
-  IN EFI_PEI_HOB_POINTERS   HobList\r
+  IN EFI_PHYSICAL_ADDRESS  DxeCoreEntryPoint,\r
+  IN EFI_PEI_HOB_POINTERS  HobList\r
   );\r
 \r
   );\r
 \r
-\r
-\r
 /**\r
    Updates the Stack HOB passed to DXE phase.\r
 \r
 /**\r
    Updates the Stack HOB passed to DXE phase.\r
 \r
@@ -123,8 +130,8 @@ HandOffToDxeCore (
 **/\r
 VOID\r
 UpdateStackHob (\r
 **/\r
 VOID\r
 UpdateStackHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
+  IN EFI_PHYSICAL_ADDRESS  BaseAddress,\r
+  IN UINT64                Length\r
   );\r
 \r
 /**\r
   );\r
 \r
 /**\r
@@ -184,14 +191,13 @@ UpdateStackHob (
 EFI_STATUS\r
 EFIAPI\r
 CustomGuidedSectionExtract (\r
 EFI_STATUS\r
 EFIAPI\r
 CustomGuidedSectionExtract (\r
-  IN CONST  EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI *This,\r
-  IN CONST  VOID                                  *InputSection,\r
-  OUT       VOID                                  **OutputBuffer,\r
-  OUT       UINTN                                 *OutputSize,\r
-  OUT       UINT32                                *AuthenticationStatus\r
+  IN CONST  EFI_PEI_GUIDED_SECTION_EXTRACTION_PPI  *This,\r
+  IN CONST  VOID                                   *InputSection,\r
+  OUT       VOID                                   **OutputBuffer,\r
+  OUT       UINTN                                  *OutputSize,\r
+  OUT       UINT32                                 *AuthenticationStatus\r
   );\r
 \r
   );\r
 \r
-\r
 /**\r
    Decompresses a section to the output buffer.\r
 \r
 /**\r
    Decompresses a section to the output buffer.\r
 \r
@@ -215,10 +221,10 @@ CustomGuidedSectionExtract (
 EFI_STATUS\r
 EFIAPI\r
 Decompress (\r
 EFI_STATUS\r
 EFIAPI\r
 Decompress (\r
-  IN CONST  EFI_PEI_DECOMPRESS_PPI  *This,\r
-  IN CONST  EFI_COMPRESSION_SECTION *CompressionSection,\r
-  OUT       VOID                    **OutputBuffer,\r
-  OUT       UINTN                   *OutputSize\r
+  IN CONST  EFI_PEI_DECOMPRESS_PPI   *This,\r
+  IN CONST  EFI_COMPRESSION_SECTION  *CompressionSection,\r
+  OUT       VOID                     **OutputBuffer,\r
+  OUT       UINTN                    *OutputSize\r
   );\r
 \r
 #endif\r
   );\r
 \r
 #endif\r