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