TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuBist.c File Reference
#include "CpuMpPei.h"

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI SecPlatformInformation2 (IN CONST EFI_PEI_SERVICES **PeiServices, IN OUT UINT64 *StructureSize, OUT EFI_SEC_PLATFORM_INFORMATION_RECORD2 *PlatformInformationRecord2)
 
EFI_STATUS GetBistInfoFromPpi (IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_GUID *Guid, OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor, OUT VOID **BistInformationData, OUT UINT64 *BistInformationSize OPTIONAL)
 
VOID CollectBistDataFromPpi (IN CONST EFI_PEI_SERVICES **PeiServices)
 

Variables

EFI_SEC_PLATFORM_INFORMATION2_PPI mSecPlatformInformation2Ppi
 
EFI_PEI_PPI_DESCRIPTOR mPeiSecPlatformInformation2Ppi
 

Detailed Description

Update and publish processors' BIST information.

Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file CpuBist.c.

Function Documentation

◆ CollectBistDataFromPpi()

VOID CollectBistDataFromPpi ( IN CONST EFI_PEI_SERVICES **  PeiServices)

Collects BIST data from PPI.

This function collects BIST data from Sec Platform Information2 PPI or SEC Platform Information PPI.

Parameters
PeiServicesPointer to PEI Services Table

Definition at line 157 of file CpuBist.c.

◆ GetBistInfoFromPpi()

EFI_STATUS GetBistInfoFromPpi ( IN CONST EFI_PEI_SERVICES **  PeiServices,
IN CONST EFI_GUID Guid,
OUT EFI_PEI_PPI_DESCRIPTOR **  PpiDescriptor,
OUT VOID **  BistInformationData,
OUT UINT64 *BistInformationSize  OPTIONAL 
)

Worker function to get CPUs' BIST by calling SecPlatformInformationPpi or SecPlatformInformation2Ppi.

Parameters
PeiServicesPointer to PEI Services Table
GuidPPI Guid
PpiDescriptorReturn a pointer to instance of the EFI_PEI_PPI_DESCRIPTOR
BistInformationDataPointer to BIST information data
BistInformationSizeReturn the size in bytes of BIST information
Return values
EFI_SUCCESSRetrieve of the BIST data successfully
EFI_NOT_FOUNDNo sec platform information(2) ppi export
EFI_DEVICE_ERRORFailed to get CPU Information

Definition at line 84 of file CpuBist.c.

◆ SecPlatformInformation2()

EFI_STATUS EFIAPI SecPlatformInformation2 ( IN CONST EFI_PEI_SERVICES **  PeiServices,
IN OUT UINT64 *  StructureSize,
OUT EFI_SEC_PLATFORM_INFORMATION_RECORD2 PlatformInformationRecord2 
)

Implementation of the PlatformInformation2 service in EFI_SEC_PLATFORM_INFORMATION2_PPI.

Parameters
PeiServicesThe pointer to the PEI Services Table.
StructureSizeThe pointer to the variable describing size of the input buffer.
PlatformInformationRecord2The pointer to the EFI_SEC_PLATFORM_INFORMATION_RECORD2.
Return values
EFI_SUCCESSThe data was successfully returned.
EFI_BUFFER_TOO_SMALLThe buffer was too small. The current buffer size needed to hold the record is returned in StructureSize.

Definition at line 35 of file CpuBist.c.

Variable Documentation

◆ mPeiSecPlatformInformation2Ppi

EFI_PEI_PPI_DESCRIPTOR mPeiSecPlatformInformation2Ppi
Initial value:
= {
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
&gEfiSecPlatformInformation2PpiGuid,
&mSecPlatformInformation2Ppi
}

Definition at line 15 of file CpuBist.c.

◆ mSecPlatformInformation2Ppi

EFI_SEC_PLATFORM_INFORMATION2_PPI mSecPlatformInformation2Ppi
Initial value:
= {
}
EFI_STATUS EFIAPI SecPlatformInformation2(IN CONST EFI_PEI_SERVICES **PeiServices, IN OUT UINT64 *StructureSize, OUT EFI_SEC_PLATFORM_INFORMATION_RECORD2 *PlatformInformationRecord2)
Definition: CpuBist.c:35

Definition at line 11 of file CpuBist.c.