/** @file This library class defines interface for platform to perform platform specific initialization in SEC phase. Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __PLATFORM_SEC_LIB_H__ #define __PLATFORM_SEC_LIB_H__ /** A developer supplied function to perform platform specific operations. It's a developer supplied function to perform any operations appropriate to a given platform. It's invoked just before passing control to PEI core by SEC core. Platform developer may modify the SecCoreData passed to PEI Core. It returns a platform specific PPI list that platform wishes to pass to PEI core. The Generic SEC core module will merge this list to join the final list passed to PEI core. @param SecCoreData The same parameter as passing to PEI core. It could be overridden by this function. @return The platform specific PPI list to be passed to PEI core or NULL if there is no need of such platform specific PPI list. **/ EFI_PEI_PPI_DESCRIPTOR * EFIAPI SecPlatformMain ( IN OUT EFI_SEC_PEI_HAND_OFF *SecCoreData ); /** This interface conveys state information out of the Security (SEC) phase into PEI. @param PeiServices Pointer to the PEI Services Table. @param StructureSize Pointer to the variable describing size of the input buffer. @param PlatformInformationRecord Pointer to the EFI_SEC_PLATFORM_INFORMATION_RECORD. @retval EFI_SUCCESS The data was successfully returned. @retval EFI_BUFFER_TOO_SMALL The buffer was too small. **/ EFI_STATUS EFIAPI SecPlatformInformation ( IN CONST EFI_PEI_SERVICES **PeiServices, IN OUT UINT64 *StructureSize, OUT EFI_SEC_PLATFORM_INFORMATION_RECORD *PlatformInformationRecord ); /** This interface disables temporary memory in SEC Phase. **/ VOID EFIAPI SecPlatformDisableTemporaryMemory ( VOID ); #endif