]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/TemporaryRamSupport.h
MdePkg/ProcessorBind: add defines for page allocation granularity
[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
1ff0b1eb 5 Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
9df063a0 6 This program and the accompanying materials \r
5879b875 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
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