| /** @file | |
| Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR> | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php. | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| #ifndef _SEC_FSP_H_ | |
| #define _SEC_FSP_H_ | |
| #include <PiPei.h> | |
| #include <FspEas.h> | |
| #include <Library/PcdLib.h> | |
| #include <Library/BaseLib.h> | |
| #include <Library/DebugLib.h> | |
| #include <Library/SerialPortLib.h> | |
| #include <Library/BaseMemoryLib.h> | |
| #include <Library/FspCommonLib.h> | |
| #include <Library/FspSecPlatformLib.h> | |
| #define FSP_MCUD_SIGNATURE SIGNATURE_32 ('M', 'C', 'U', 'D') | |
| #define FSP_PER0_SIGNATURE SIGNATURE_32 ('P', 'E', 'R', '0') | |
| /** | |
| Calculate the FSP IDT gate descriptor. | |
| @param[in] IdtEntryTemplate IDT gate descriptor template. | |
| @return FSP specific IDT gate descriptor. | |
| **/ | |
| UINT64 | |
| FspGetExceptionHandler( | |
| IN UINT64 IdtEntryTemplate | |
| ); | |
| /** | |
| Initialize the FSP global data region. | |
| It needs to be done as soon as possible after the stack is setup. | |
| @param[in,out] PeiFspData Pointer of the FSP global data. | |
| @param[in] BootLoaderStack BootLoader stack. | |
| @param[in] ApiIdx The index of the FSP API. | |
| **/ | |
| VOID | |
| FspGlobalDataInit ( | |
| IN OUT FSP_GLOBAL_DATA *PeiFspData, | |
| IN UINT32 BootLoaderStack, | |
| IN UINT8 ApiIdx | |
| ); | |
| /** | |
| Adjust the FSP data pointers after the stack is migrated to memory. | |
| @param[in] OffsetGap The offset gap between the old stack and the new stack. | |
| **/ | |
| VOID | |
| FspDataPointerFixUp ( | |
| IN UINT32 OffsetGap | |
| ); | |
| /** | |
| This interface returns the base address of FSP binary. | |
| @return FSP binary base address. | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| AsmGetFspBaseAddress ( | |
| VOID | |
| ); | |
| /** | |
| This interface gets FspInfoHeader pointer | |
| @return FSP binary base address. | |
| **/ | |
| UINT32 | |
| EFIAPI | |
| AsmGetFspInfoHeader ( | |
| VOID | |
| ); | |
| #endif |