]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFsp2Pkg/Include/Ppi/TempRamExitPpi.h
0db54dfa4502bf14452d283daf722a6f189c614b
[mirror_edk2.git] / IntelFsp2Pkg / Include / Ppi / TempRamExitPpi.h
1 /** @file
2 This file defines the Silicon Temp Ram Exit PPI which implements the
3 required programming steps for disabling temporary memory.
4
5 Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef _FSP_TEMP_RAM_EXIT_PPI_H_
11 #define _FSP_TEMP_RAM_EXIT_PPI_H_
12
13 ///
14 /// Global ID for the FSP_TEMP_RAM_EXIT_PPI.
15 ///
16 #define FSP_TEMP_RAM_EXIT_GUID \
17 { \
18 0xbc1cfbdb, 0x7e50, 0x42be, { 0xb4, 0x87, 0x22, 0xe0, 0xa9, 0x0c, 0xb0, 0x52 } \
19 }
20
21 //
22 // Forward declaration for the FSP_TEMP_RAM_EXIT_PPI.
23 //
24 typedef struct _FSP_TEMP_RAM_EXIT_PPI FSP_TEMP_RAM_EXIT_PPI;
25
26 /**
27 Silicon function for disabling temporary memory.
28 @param[in] TempRamExitParamPtr - Pointer to the TempRamExit parameters structure.
29 This structure is normally defined in the Integration
30 Guide. If it is not defined in the Integration Guide,
31 pass NULL.
32 @retval EFI_SUCCESS - FSP execution environment was initialized successfully.
33 @retval EFI_INVALID_PARAMETER - Input parameters are invalid.
34 @retval EFI_UNSUPPORTED - The FSP calling conditions were not met.
35 @retval EFI_DEVICE_ERROR - Temporary memory exit.
36 **/
37 typedef
38 EFI_STATUS
39 (EFIAPI *FSP_TEMP_RAM_EXIT) (
40 IN VOID *TempRamExitParamPtr
41 );
42
43 ///
44 /// This PPI provides function to disable temporary memory.
45 ///
46 struct _FSP_TEMP_RAM_EXIT_PPI {
47 FSP_TEMP_RAM_EXIT TempRamExit;
48 };
49
50 extern EFI_GUID gFspTempRamExitPpiGuid;
51
52 #endif // _FSP_TEMP_RAM_EXIT_PPI_H_