summaryrefslogtreecommitdiff
path: root/IntelFspPkg/FspSecCore/SecFsp.c
diff options
context:
space:
mode:
authorYao, Jiewen <Jiewen.Yao@intel.com>2015-08-02 04:02:37 +0000
committerjyao1 <jyao1@Edk2>2015-08-02 04:02:37 +0000
commitb23441875c34bd15badb76e8d0b001ebd5d7010d (patch)
tree2723ccebc4f5589f709021770ea12febe49b34c7 /IntelFspPkg/FspSecCore/SecFsp.c
parent7669f7349829f0e4755552ba0d6e600492fd8170 (diff)
downloadedk2-platforms-b23441875c34bd15badb76e8d0b001ebd5d7010d.tar.xz
Add Dual-FSP support (MemoryInitUpd/SiliconInitUpd)
Add FspUpdSignatureCheck() API in FspSecPlatformLib, so that FspSecCore can check if UPD data is valid in FSP API. Add Set/GetFspMemoryInitUpdDataPointer() and Set/GetFspSiliconInitUpdDataPointer() API in FspCommonLib, so that core can set this UdpDataPointer and platform code may get UpdDataPointer easily. Add UpdateMemSiUpdInitOffsetValue function in GenCfgOpt.py tool, so that the MemoryInitUpdOffset and SiUpdInitOffset is recorded. Add missing EMBED comment in GenCfgOptUserManual.docx Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com> Reviewed-by: "Mudusuru, Giri P" <giri.p.mudusuru@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18123 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'IntelFspPkg/FspSecCore/SecFsp.c')
-rw-r--r--IntelFspPkg/FspSecCore/SecFsp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/IntelFspPkg/FspSecCore/SecFsp.c b/IntelFspPkg/FspSecCore/SecFsp.c
index a9aba7108e..07aed1c1c0 100644
--- a/IntelFspPkg/FspSecCore/SecFsp.c
+++ b/IntelFspPkg/FspSecCore/SecFsp.c
@@ -265,7 +265,7 @@ FspApiCallingCheck (
//
if ((UINT32)FspData != 0xFFFFFFFF) {
Status = EFI_UNSUPPORTED;
- } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) {
+ } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) {
Status = EFI_INVALID_PARAMETER;
}
} else if (ApiIdx == 2) {
@@ -285,7 +285,7 @@ FspApiCallingCheck (
//
if ((UINT32)FspData != 0xFFFFFFFF) {
Status = EFI_UNSUPPORTED;
- } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0)) {
+ } else if ((FspRtBuffer == NULL) || ((FspRtBuffer->BootLoaderTolumSize % EFI_PAGE_SIZE) != 0) || (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam)))) {
Status = EFI_INVALID_PARAMETER;
}
} else if (ApiIdx == 4) {
@@ -308,6 +308,8 @@ FspApiCallingCheck (
} else {
if (FspData->Signature != FSP_GLOBAL_DATA_SIGNATURE) {
Status = EFI_UNSUPPORTED;
+ } else if (EFI_ERROR(FspUpdSignatureCheck(ApiIdx, ApiParam))) {
+ Status = EFI_INVALID_PARAMETER;
}
}
} else {