Home | History | Annotate | Download | only in Ppi
      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