]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/TemporaryRamSupport.h
Code Scrub for header files in MdePkg/Include/Ppi and Uefi directory.
[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
d7132512 5 Copyright (c) 2006 - 2008, Intel Corporation \r
5879b875 6 All rights reserved. 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
5879b875 14 @par Revision Reference:\r
15 This PPI is defined in PI.\r
16 Version 1.00.\r
17\r
18**/\r
19\r
20#ifndef __TEMPORARY_RAM_SUPPORT_H__\r
21#define __TEMPORARY_RAM_SUPPORT_H__\r
22\r
23#define TEMPORARY_RAM_SUPPORT_PPI_GUID \\r
00edb218 24 { 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} }\r
5879b875 25\r
26\r
27/*\r
28 This service of the TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into\r
00edb218 29 permanent memory.\r
5879b875 30\r
00edb218 31 @param PeiServices Pointer to the PEI Services Table.\r
5879b875 32\r
00edb218
A
33 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the\r
34 Temporary RAM contents.\r
5879b875 35\r
00edb218
A
36 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the\r
37 Temporary RAM contents.\r
5879b875 38\r
00edb218 39 @param CopySize Amount of memory to migrate from temporary to permanent memory.\r
5879b875 40\r
41\r
42\r
00edb218 43 @retval EFI_SUCCESS The data was successfully returned.\r
5879b875 44\r
00edb218
A
45 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize >\r
46 TemporaryMemoryBase when TemporaryMemoryBase >\r
47 PermanentMemoryBase.\r
5879b875 48\r
49**/\r
50typedef\r
51EFI_STATUS\r
8b13229b 52(EFIAPI * TEMPORARY_RAM_MIGRATION)(\r
00edb218
A
53 IN CONST EFI_PEI_SERVICES **PeiServices,\r
54 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,\r
55 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,\r
56 IN UINTN CopySize\r
5879b875 57);\r
58\r
d7132512
LG
59/**\r
60 This service abstracts the ability to migrate contents of the platform early memory store.\r
5879b875 61\r
d7132512
LG
62 @param ResetSystem\r
63 Perform the migration of contents of Temporary RAM to Permanent RAM.\r
64 Terminate the Temporary RAM if it cannot coexist with the Permanent RAM.\r
65\r
66**/\r
5879b875 67typedef struct {\r
00edb218 68 TEMPORARY_RAM_MIGRATION TemporaryRamMigration;\r
5879b875 69} TEMPORARY_RAM_SUPPORT_PPI;\r
70\r
53f2d96e 71extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;\r
5879b875 72\r
73#endif\r