]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Include/Ppi/ArmMpCoreInfo.h
ArmPkg: Fix Ecc error 8003
[mirror_edk2.git] / ArmPkg / Include / Ppi / ArmMpCoreInfo.h
1 /** @file
2 *
3 * Copyright (c) 2011, ARM Limited. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-2-Clause-Patent
6 *
7 **/
8
9 #ifndef ARM_MP_CORE_INFO_PPI_H_
10 #define ARM_MP_CORE_INFO_PPI_H_
11
12 #include <Guid/ArmMpCoreInfo.h>
13
14 #define ARM_MP_CORE_INFO_PPI_GUID \
15 { 0x6847cc74, 0xe9ec, 0x4f8f, {0xa2, 0x9d, 0xab, 0x44, 0xe7, 0x54, 0xa8, 0xfc} }
16
17 /**
18 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
19 permanent memory.
20
21 @param PeiServices Pointer to the PEI Services Table.
22 @param TemporaryMemoryBase Source Address in temporary memory from which the SEC or PEIM will copy the
23 Temporary RAM contents.
24 @param PermanentMemoryBase Destination Address in permanent memory into which the SEC or PEIM will copy the
25 Temporary RAM contents.
26 @param CopySize Amount of memory to migrate from temporary to permanent memory.
27
28 @retval EFI_SUCCESS The data was successfully returned.
29 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when
30 TemporaryMemoryBase > PermanentMemoryBase.
31
32 **/
33 typedef
34 EFI_STATUS
35 (EFIAPI * ARM_MP_CORE_INFO_GET) (
36 OUT UINTN *ArmCoreCount,
37 OUT ARM_CORE_INFO **ArmCoreTable
38 );
39
40 ///
41 /// This service abstracts the ability to migrate contents of the platform early memory store.
42 /// Note: The name EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI is different from the current PI 1.2 spec.
43 /// This PPI was optional.
44 ///
45 typedef struct {
46 ARM_MP_CORE_INFO_GET GetMpCoreInfo;
47 } ARM_MP_CORE_INFO_PPI;
48
49 extern EFI_GUID gArmMpCoreInfoPpiGuid;
50 extern EFI_GUID gArmMpCoreInfoGuid;
51
52 #endif // ARM_MP_CORE_INFO_PPI_H_