]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFspWrapperPkg/Include/Library/FspPlatformSecLib.h
Add IntelFspWrapper to support boot EDKII on FSP bin.
[mirror_edk2.git] / IntelFspWrapperPkg / Include / Library / FspPlatformSecLib.h
diff --git a/IntelFspWrapperPkg/Include/Library/FspPlatformSecLib.h b/IntelFspWrapperPkg/Include/Library/FspPlatformSecLib.h
new file mode 100644 (file)
index 0000000..58447a6
--- /dev/null
@@ -0,0 +1,67 @@
+/** @file\r
+  Provide FSP wrapper platform sec related function.\r
+\r
+  Copyright (c) 2014, 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
+\r
+**/\r
+\r
+#ifndef __FSP_PLATFORM_SEC_LIB_H__\r
+#define __FSP_PLATFORM_SEC_LIB_H__\r
+\r
+/**\r
+  A developer supplied function to perform platform specific operations.\r
+\r
+  It's a developer supplied function to perform any operations appropriate to a\r
+  given platform. It's invoked just before passing control to PEI core by SEC\r
+  core. Platform developer may modify the SecCoreData passed to PEI Core.\r
+  It returns a platform specific PPI list that platform wishes to pass to PEI core.\r
+  The Generic SEC core module will merge this list to join the final list passed to\r
+  PEI core.\r
+\r
+  @param[in,out] SecCoreData           The same parameter as passing to PEI core. It\r
+                                       could be overridden by this function.\r
+\r
+  @return The platform specific PPI list to be passed to PEI core or\r
+          NULL if there is no need of such platform specific PPI list.\r
+\r
+**/\r
+EFI_PEI_PPI_DESCRIPTOR *\r
+EFIAPI\r
+SecPlatformMain (\r
+  IN OUT   EFI_SEC_PEI_HAND_OFF        *SecCoreData\r
+  );\r
+\r
+/**\r
+  Call PEI core entry point with new temporary RAM.\r
+\r
+  @param[in] FspHobList   HobList produced by FSP.\r
+  @param[in] StartOfRange Start of temporary RAM.\r
+  @param[in] EndOfRange   End of temporary RAM.\r
+**/\r
+VOID\r
+EFIAPI\r
+CallPeiCoreEntryPoint (\r
+  IN VOID                 *FspHobList,\r
+  IN VOID                 *StartOfRange,\r
+  IN VOID                 *EndOfRange\r
+  );\r
+\r
+/**\r
+  Save SEC context before call FspInit.\r
+\r
+  @param[in] PeiServices  Pointer to PEI Services Table.\r
+**/\r
+VOID\r
+EFIAPI\r
+SaveSecContext (\r
+  IN CONST EFI_PEI_SERVICES                     **PeiServices\r
+  );\r
+\r
+#endif\r