32 IN OUT UINT64 *StructureSize,
39 UINT32 TopOfTemporaryRam;
40 VOID *TopOfTemporaryRamPpi;
43 DEBUG ((DEBUG_INFO,
"SecPlatformInformation\n"));
45 Status = (*PeiServices)->LocatePpi (
47 &gTopOfTemporaryRamPpiGuid,
50 (VOID **)&TopOfTemporaryRamPpi
52 if (EFI_ERROR (Status)) {
62 TopOfTemporaryRam = (UINT32)(
UINTN)TopOfTemporaryRamPpi -
sizeof (UINT32);
63 TopOfTemporaryRam -=
sizeof (UINT32) * 2;
64 Count = *((UINT32 *)(
UINTN)(TopOfTemporaryRam -
sizeof (UINT32)));
67 if ((*StructureSize) < (UINT64)Size) {
68 *StructureSize = Size;
69 return EFI_BUFFER_TOO_SMALL;
72 *StructureSize = Size;
73 Bist = (UINT32 *)(TopOfTemporaryRam -
sizeof (UINT32) - Size);
75 CopyMem (PlatformInformationRecord, Bist, Size);
VOID *EFIAPI CopyMem(OUT VOID *DestinationBuffer, IN CONST VOID *SourceBuffer, IN UINTN Length)
#define DEBUG(Expression)