]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Ppi/TemporaryRamSupport/TemporaryRamSupport.h
Maintainers.txt: Remove EdkCompatibilityPkg information
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Ppi / TemporaryRamSupport / TemporaryRamSupport.h
CommitLineData
3e99020d
LG
1/*++\r
2\r
3Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 TemporaryRamSupport.h\r
15\r
16Abstract:\r
17\r
18 This file declares Temporary RAM Support PPI. \r
19 This Ppi provides the service that migrates temporary RAM into permanent memory.\r
20\r
21--*/\r
22\r
23#ifndef __TEMPORARY_RAM_SUPPORT_H__\r
24#define __TEMPORARY_RAM_SUPPORT_H__\r
25\r
26#include "Tiano.h"\r
27\r
28#define TEMPORARY_RAM_SUPPORT_PPI_GUID \\r
29 { \\r
30 0xdbe23aa9, 0xa345, 0x4b97, {0x85, 0xb6, 0xb2, 0x26, 0xf1, 0x61, 0x73, 0x89} \\r
31 }\r
32\r
33/** \r
34 This service of the TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into \r
35 permanent memory. \r
36\r
37 @param PeiServices Pointer to the PEI Services Table. \r
38 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the \r
39 Temporary RAM contents. \r
40 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the\r
41 Temporary RAM contents. \r
42 @param CopySize Amount of memory to migrate from temporary to permanent memory. \r
43\r
44 @retval EFI_SUCCESS The data was successfully returned. \r
45 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when TemporaryMemoryBase > PermanentMemoryBase. \r
46\r
47 **/ \r
48typedef\r
49EFI_STATUS\r
50(EFIAPI * TEMPORARY_RAM_MIGRATION)(\r
51 IN CONST EFI_PEI_SERVICES **PeiServices,\r
52 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,\r
53 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,\r
54 IN UINTN CopySize\r
55); \r
56\r
57/// \r
58/// This service abstracts the ability to migrate contents of the platform early memory store. \r
59/// \r
60typedef struct { \r
61 TEMPORARY_RAM_MIGRATION TemporaryRamMigration; \r
62} TEMPORARY_RAM_SUPPORT_PPI; \r
63\r
64extern EFI_GUID gEfiTemporaryRamSupportPpiGuid;\r
65\r
66#endif \r