/** @file\r
\r
Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
IA32_IDT_GATE_DESCRIPTOR *IdtGateDescriptor;\r
FSP_INFO_HEADER *FspInfoHeader;\r
\r
- FspInfoHeader = (FSP_INFO_HEADER *)(GetFspBaseAddress() + FSP_INFO_HEADER_OFF);\r
+ FspInfoHeader = (FSP_INFO_HEADER *)AsmGetFspInfoHeader();\r
ExceptionHandler = IdtEntryTemplate;\r
IdtGateDescriptor = (IA32_IDT_GATE_DESCRIPTOR *)&ExceptionHandler;\r
Entry = (IdtGateDescriptor->Bits.OffsetHigh << 16) | IdtGateDescriptor->Bits.OffsetLow;\r
// Get FSP Header offset\r
// It may have multiple FVs, so look into the last one for FSP header\r
//\r
- PeiFspData->FspInfoHeader = (FSP_INFO_HEADER *)(GetFspBaseAddress() + FSP_INFO_HEADER_OFF);\r
+ PeiFspData->FspInfoHeader = (FSP_INFO_HEADER *)AsmGetFspInfoHeader();\r
SecGetPlatformData (PeiFspData);\r
\r
//\r
//\r
if ((UINT32)FspData != 0xFFFFFFFF) {\r
Status = EFI_UNSUPPORTED;\r
- } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) {\r
+ } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) {\r
Status = EFI_INVALID_PARAMETER;\r
}\r
} else if (ApiIdx == 2) {\r
//\r
if ((UINT32)FspData != 0xFFFFFFFF) {\r
Status = EFI_UNSUPPORTED;\r
- } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) {\r
+ } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) {\r
Status = EFI_INVALID_PARAMETER;\r
}\r
} else if (ApiIdx == 4) {\r
} else {\r
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {\r
Status = EFI_UNSUPPORTED;\r
+ } else if (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam))) {\r
+ Status = EFI_INVALID_PARAMETER;\r
}\r
}\r
} else {\r