]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - MdePkg/Include/Ppi/TemporaryRamSupport.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Ppi / TemporaryRamSupport.h
... / ...
CommitLineData
1/** @file\r
2 This file declares Temporary RAM Support PPI.\r
3 This Ppi provides the service that migrates temporary RAM into permanent memory.\r
4\r
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
13\r
14 @par Revision Reference:\r
15 This PPI is introduced in PI Version 1.0.\r
16\r
17**/\r
18\r
19#ifndef __TEMPORARY_RAM_SUPPORT_H__\r
20#define __TEMPORARY_RAM_SUPPORT_H__\r
21\r
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
27 { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }\r
28\r
29\r
30/**\r
31 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into\r
32 permanent memory.\r
33\r
34 @param PeiServices Pointer to the PEI Services Table.\r
35 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the\r
36 Temporary RAM contents.\r
37 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the\r
38 Temporary RAM contents.\r
39 @param CopySize Amount of memory to migrate from temporary to permanent memory.\r
40\r
41 @retval EFI_SUCCESS The data was successfully returned.\r
42 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when\r
43 TemporaryMemoryBase > PermanentMemoryBase.\r
44\r
45**/\r
46typedef\r
47EFI_STATUS\r
48(EFIAPI * TEMPORARY_RAM_MIGRATION)(\r
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
53);\r
54\r
55///\r
56/// This service abstracts the ability to migrate contents of the platform early memory store.\r
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
59///\r
60typedef struct {\r
61 TEMPORARY_RAM_MIGRATION TemporaryRamMigration;\r
62} EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI;\r
63\r
64extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;\r
65\r
66#endif\r