]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/TemporaryRamSupport.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Ppi / TemporaryRamSupport.h
CommitLineData
c311f86b 1/** @file\r
5879b875 2 This file declares Temporary RAM Support PPI.\r
d7132512 3 This Ppi provides the service that migrates temporary RAM into permanent memory.\r
5879b875 4\r
9095d37b
LG
5 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
6 This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
5879b875 13\r
5879b875 14 @par Revision Reference:\r
0047820e 15 This PPI is introduced in PI Version 1.0.\r
5879b875 16\r
17**/\r
18\r
19#ifndef __TEMPORARY_RAM_SUPPORT_H__\r
20#define __TEMPORARY_RAM_SUPPORT_H__\r
21\r
1ff0b1eb 22///\r
23/// Note: The GUID name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID is different from the current\r
24/// PI 1.2 spec.\r
25///\r
26#define EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI_GUID \\r
00edb218 27 { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }\r
5879b875 28\r
29\r
06889842 30/**\r
1ff0b1eb 31 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into\r
00edb218 32 permanent memory.\r
5879b875 33\r
00edb218 34 @param PeiServices Pointer to the PEI Services Table.\r
00edb218
A
35 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the\r
36 Temporary RAM contents.\r
00edb218
A
37 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the\r
38 Temporary RAM contents.\r
00edb218 39 @param CopySize Amount of memory to migrate from temporary to permanent memory.\r
5879b875 40\r
00edb218 41 @retval EFI_SUCCESS The data was successfully returned.\r
13c38031 42 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when\r
43 TemporaryMemoryBase > PermanentMemoryBase.\r
5879b875 44\r
45**/\r
46typedef\r
47EFI_STATUS\r
8b13229b 48(EFIAPI * TEMPORARY_RAM_MIGRATION)(\r
00edb218
A
49 IN CONST EFI_PEI_SERVICES **PeiServices,\r
50 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,\r
51 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,\r
52 IN UINTN CopySize\r
5879b875 53);\r
54\r
13c38031 55///\r
56/// This service abstracts the ability to migrate contents of the platform early memory store.\r
1ff0b1eb 57/// Note: The name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI is different from the current PI 1.2 spec.\r
58/// This PPI was optional.\r
13c38031 59///\r
5879b875 60typedef struct {\r
00edb218 61 TEMPORARY_RAM_MIGRATION TemporaryRamMigration;\r
1ff0b1eb 62} EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI;\r
5879b875 63\r
53f2d96e 64extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;\r
5879b875 65\r
66#endif\r