1 /** @file
2   This file declares Temporary RAM Done PPI.
3   The PPI that provides a service to disable the use of Temporary RAM.
4 
5   Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
6   This program and the accompanying materials
7   are licensed and made available under the terms and conditions of the BSD License
8   which accompanies this distribution.  The full text of the license may be found at
9   http://opensource.org/licenses/bsd-license.php
10 
11   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14   @par Revision Reference:
15   This PPI is introduced in PI Version 1.2.1.
16 
17 **/
18 
19 #ifndef __TEMPORARY_RAM_DONE_H__
20 #define __TEMPORARY_RAM_DONE_H__
21 
22 #define EFI_PEI_TEMPORARY_RAM_DONE_PPI_GUID \
23   { 0xceab683c, 0xec56, 0x4a2d, { 0xa9, 0x6, 0x40, 0x53, 0xfa, 0x4e, 0x9c, 0x16 } }
24 
25 /**
26   TemporaryRamDone() disables the use of Temporary RAM. If present, this service is invoked
27   by the PEI Foundation after the EFI_PEI_PERMANANT_MEMORY_INSTALLED_PPI is installed.
28 
29   @retval EFI_SUCCESS           Use of Temporary RAM was disabled.
30   @retval EFI_INVALID_PARAMETER Temporary RAM could not be disabled.
31 
32 **/
33 typedef
34 EFI_STATUS
35 (EFIAPI * EFI_PEI_TEMPORARY_RAM_DONE) (
36   VOID
37   );
38 
39 ///
40 /// This is an optional PPI that may be produced by SEC or a PEIM. If present, it provide a service to
41 /// disable the use of Temporary RAM. This service may only be called by the PEI Foundation after the
42 /// transition from Temporary RAM to Permanent RAM is complete. This PPI provides an alternative
43 /// to the Temporary RAM Migration PPI for system architectures that allow Temporary RAM and
44 /// Permanent RAM to be enabled and accessed at the same time with no side effects.
45 ///
46 typedef struct _EFI_PEI_TEMPORARY_RAM_DONE_PPI {
47   EFI_PEI_TEMPORARY_RAM_DONE TemporaryRamDone;
48 } EFI_PEI_TEMPORARY_RAM_DONE_PPI;
49 
50 extern EFI_GUID gEfiTemporaryRamDonePpiGuid;
51 
52 #endif
53