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