1 /** @file 2 This file declares Temporary RAM Support PPI. 3 This Ppi provides the service that migrates temporary RAM into permanent memory. 4 5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 @par Revision Reference: 9 This PPI is introduced in PI Version 1.0. 10 11 **/ 12 13 #ifndef __TEMPORARY_RAM_SUPPORT_H__ 14 #define __TEMPORARY_RAM_SUPPORT_H__ 15 16 /// 17 /// Note: The GUID name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID is different from the current 18 /// PI 1.2 spec. 19 /// 20 #define EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID \ 21 { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} } 22 23 24 /** 25 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into 26 permanent memory. 27 28 @param PeiServices Pointer to the PEI Services Table. 29 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the 30 Temporary RAM contents. 31 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the 32 Temporary RAM contents. 33 @param CopySize Amount of memory to migrate from temporary to permanent memory. 34 35 @retval EFI_SUCCESS The data was successfully returned. 36 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when 37 TemporaryMemoryBase > PermanentMemoryBase. 38 39 **/ 40 typedef 41 EFI_STATUS 42 (EFIAPI * TEMPORARY_RAM_MIGRATION)( 43 IN CONST EFI_PEI_SERVICES **PeiServices, 44 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase, 45 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase, 46 IN UINTN CopySize 47 ); 48 49 /// 50 /// This service abstracts the ability to migrate contents of the platform early memory store. 51 /// Note: The name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI is different from the current PI 1.2 spec. 52 /// This PPI was optional. 53 /// 54 typedef struct { 55 TEMPORARY_RAM_MIGRATION TemporaryRamMigration; 56 } EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI; 57 58 extern EFI_GUID gEfiTemporaryRamSupportPpiGuid; 59 60 #endif 61