]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Ppi/TemporaryRamSupport.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[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
06889842 23/**\r
1ff0b1eb 24 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into\r
00edb218 25 permanent memory.\r
5879b875 26\r
00edb218 27 @param PeiServices Pointer to the PEI Services Table.\r
00edb218
A
28 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the\r
29 Temporary RAM contents.\r
00edb218
A
30 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the\r
31 Temporary RAM contents.\r
00edb218 32 @param CopySize Amount of memory to migrate from temporary to permanent memory.\r
5879b875 33\r
00edb218 34 @retval EFI_SUCCESS The data was successfully returned.\r
13c38031 35 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when\r
36 TemporaryMemoryBase > PermanentMemoryBase.\r
5879b875 37\r
38**/\r
39typedef\r
40EFI_STATUS\r
2f88bd3a 41(EFIAPI *TEMPORARY_RAM_MIGRATION)(\r
00edb218
A
42 IN CONST EFI_PEI_SERVICES **PeiServices,\r
43 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,\r
44 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,\r
45 IN UINTN CopySize\r
2f88bd3a 46 );\r
5879b875 47\r
13c38031 48///\r
49/// This service abstracts the ability to migrate contents of the platform early memory store.\r
1ff0b1eb 50/// Note: The name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI is different from the current PI 1.2 spec.\r
51/// This PPI was optional.\r
13c38031 52///\r
5879b875 53typedef struct {\r
2f88bd3a 54 TEMPORARY_RAM_MIGRATION TemporaryRamMigration;\r
1ff0b1eb 55} EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI;\r
5879b875 56\r
2f88bd3a 57extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;\r
5879b875 58\r
59#endif\r