1 /** @file
2   Provide FSP wrapper platform sec related function.
3 
4   Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
5   SPDX-License-Identifier: BSD-2-Clause-Patent
6 
7 **/
8 
9 #ifndef __FSP_PLATFORM_SEC_LIB_H__
10 #define __FSP_PLATFORM_SEC_LIB_H__
11 
12 /**
13   A developer supplied function to perform platform specific operations.
14 
15   It's a developer supplied function to perform any operations appropriate to a
16   given platform. It's invoked just before passing control to PEI core by SEC
17   core. Platform developer may modify the SecCoreData passed to PEI Core.
18   It returns a platform specific PPI list that platform wishes to pass to PEI core.
19   The Generic SEC core module will merge this list to join the final list passed to
20   PEI core.
21 
22   @param[in,out] SecCoreData           The same parameter as passing to PEI core. It
23                                        could be overridden by this function.
24 
25   @return The platform specific PPI list to be passed to PEI core or
26           NULL if there is no need of such platform specific PPI list.
27 
28 **/
29 EFI_PEI_PPI_DESCRIPTOR *
30 EFIAPI
31 SecPlatformMain (
32   IN OUT   EFI_SEC_PEI_HAND_OFF        *SecCoreData
33   );
34 
35 /**
36   Call PEI core entry point with new temporary RAM.
37 
38   @param[in] FspHobList   HobList produced by FSP.
39   @param[in] StartOfRange Start of temporary RAM.
40   @param[in] EndOfRange   End of temporary RAM.
41 **/
42 VOID
43 EFIAPI
44 CallPeiCoreEntryPoint (
45   IN VOID                 *FspHobList,
46   IN VOID                 *StartOfRange,
47   IN VOID                 *EndOfRange
48   );
49 
50 /**
51   Save SEC context before call FspInit.
52 
53   @param[in] PeiServices  Pointer to PEI Services Table.
54 **/
55 VOID
56 EFIAPI
57 SaveSecContext (
58   IN CONST EFI_PEI_SERVICES                     **PeiServices
59   );
60 
61 #endif
62