3 * Copyright (c) 2011, ARM Limited. All rights reserved.
5 * SPDX-License-Identifier: BSD-2-Clause-Patent
9 #ifndef ARM_MP_CORE_INFO_PPI_H_
10 #define ARM_MP_CORE_INFO_PPI_H_
12 #include <Guid/ArmMpCoreInfo.h>
14 #define ARM_MP_CORE_INFO_PPI_GUID \
15 { 0x6847cc74, 0xe9ec, 0x4f8f, {0xa2, 0x9d, 0xab, 0x44, 0xe7, 0x54, 0xa8, 0xfc} }
18 This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into
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.
28 @retval EFI_SUCCESS The data was successfully returned.
29 @retval EFI_INVALID_PARAMETER PermanentMemoryBase + CopySize > TemporaryMemoryBase when
30 TemporaryMemoryBase > PermanentMemoryBase.
35 (EFIAPI
* ARM_MP_CORE_INFO_GET
) (
36 OUT UINTN
*ArmCoreCount
,
37 OUT ARM_CORE_INFO
**ArmCoreTable
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.
46 ARM_MP_CORE_INFO_GET GetMpCoreInfo
;
47 } ARM_MP_CORE_INFO_PPI
;
49 extern EFI_GUID gArmMpCoreInfoPpiGuid
;
50 extern EFI_GUID gArmMpCoreInfoGuid
;
52 #endif // ARM_MP_CORE_INFO_PPI_H_