summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/Dxe/FwVol
AgeCommit message (Collapse)AuthorFilesLines
2023-09-11MdeModulePkg/Core/Dxe: Fix memory leak issue in FwVol.cMike Maslenkin1-0/+1
FwVolHeader must be freed on error path. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdeModulePkg: Apply uncrustify changesMichael Kubacki6-344/+299
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-12-07MdeModulePkg: Change use of EFI_D_* to DEBUG_*Michael D Kinney1-4/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3739 Update all use of EFI_D_* defines in DEBUG() macros to DEBUG_* defines. Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-10-29MdeModulePkg/Core: Support standalone MM in FV2 protocol GetNextFile().Siyuan Fu1-3/+3
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3028 The FirmwareVolume2Protocol->GetNextFile() produced by DXE Core can be used to search for a file based on the value of *FileType input. However, this service will always return EFI_NOT_FOUND if the input FileType is set to EFI_FV_FILETYPE_MM_STANDALONE or EFI_FV_FILETYPE_MM_CORE_STANDALONE, Which means user can't use this service to search any standalone MM image in that FV. This patch update the FirmwareVolume2Protocol->GetNextFile() service to support searching standalone MM module. Signed-off-by: Siyuan Fu <siyuan.fu@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-08-19MdeModulePkg: Fix spelling mistake for occurredMichael D Kinney1-1/+1
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2361 Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Guomin Jiang <guomin.jiang@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
2019-04-09MdeModulePkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney6-42/+6
https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
2019-02-28MdeModulePkg/DxeCore: Ensure FfsFileHeader 8 bytes alignedStar Zeng1-51/+14
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=864 REF: CVE-2018-3630 To follow PI spec, ensure FfsFileHeader 8 bytes aligned. For the integrity of FV(especially non-MemoryMapped FV) layout, let CachedFv point to FV beginning, but not (FV + FV header). And current code only handles (FwVolHeader->ExtHeaderOffset != 0) path, update code to also handle (FwVolHeader->ExtHeaderOffset == 0) path. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao Wu <hao.a.wu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
2018-06-28MdeModulePkg: Clean up source filesLiming Gao1-15/+15
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-10-10MdeModulePkg Core: Propagate PEI-phase FV authentication status to DXEStar Zeng1-8/+5
FV3 HOB was introduced by new (>= 1.5) PI spec, it is intended to be used to propagate PEI-phase FV authentication status to DXE. This patch is to update PeiCore to build FV3 HOB with the authentication status and DxeCore to get the authentication status from FV3 HOB when producing FVB Protocol. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-09-26MdeModulePkg Core: Support FFS_ATTRIB_DATA_ALIGNMENT_2Star Zeng1-12/+25
Follow PI 1.6 spec to support FFS_ATTRIB_DATA_ALIGNMENT_2 for FFS alignment extended to support maximum 16MB. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-10-27MdeModulePkg/Core: Fix typos in commentsGary Lin1-2/+2
- paramters -> parameters - funciton -> function - dependecy -> dependency - evauated -> evaluated - genric -> generic - retore -> restore - Protocl -> Protocol - availible -> available - elasped -> elapsed - sarted -> started - boundry -> boundary - permenent -> permanent - debuging -> debugging - availble -> available Cc: Feng Tian <feng.tian@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2016-08-29MdeModulePkg DxeCore: Return correct AuthStatus for FvReadFileStar Zeng1-2/+5
Inherit the authentication status from FV. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Chao Zhang <chao.b.zhang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed by: Chao Zhang <chao.b.zhang@intel.com>
2014-12-17MdeModulePkg DxeCore: Fix potential FV overflow of 4GB boundary on a 32-bit ↵Star Zeng1-1/+1
systems. The traversing of a Memory Mapped FV can overflow the 4GB limit on a 32bit system during the setting up a Linked List of FFS file inside the FV. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16527 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-10MdeModulePke: DxeCore NotifyFwVolBlock() function issueLiming Gao1-1/+1
Fix DxeCore NotifyFwVolBlock() function to make sure FV protocol is installed for all valid PI FV images. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Guo Dong <guo.dong@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16496 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-29MdeModulePkg/IntelFrameworkModulePkg FwVol:Star Zeng2-39/+18
Move the check of FV Header signature and file system to GetFwVolHeader() to avoid reading the whole unexpected FvHeader. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16255 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-09MdeModulePkg DxeCore: Add FVH signature check before VerifyFvHeaderChecksum ↵Star Zeng1-0/+8
in FwVol. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16200 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28MdeModulePkg DxeCore: Handle FFS file with FFS_ATTRIB_CHECKSUM set for not ↵Star Zeng1-10/+45
cache memory mapped IO FV. The code FvCheck() will check FFS file checksum to verify if FFS file is valid when the file is with FFS_ATTRIB_CHECKSUM set. The whole file will be read through when doing checksum check. So we can cache FFS file to memory buffer for following checksum calculating first. And then, the cached file buffer can be also used for FvReadFile. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15958 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27MdeModulePkg DxeCore: Don't cache memory mapped IO FV.Star Zeng3-77/+126
Previous DxeCore FwVol code will cache whole FvMain FV from flash that may be uncached if platform reports FvMain FVB, it will impact DXE performance. The code already has file level cache, so don’t need to cache memory mapped IO FV. It can also reduce memory consumption of caching memory mapped IO FVs. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15916 6f19259b-4bc3-4df7-8a09-765794883524
2014-06-26Refine code to make it more safely.Eric Dong1-1/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15598 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-29Update DxeCore and FwVolDxe drivers to inherit authentication status for the ↵lzeng143-2/+19
FV image, if the image came from an FV image file and section in another firmware volume. Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Chao Zhang <chao.b.zhang@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13368 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-27Searching for files starts on an 8 byte aligned boundary after the end of ↵lzeng141-2/+12
the Extended Header if it exists. Signed-off-by: lzeng14 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13143 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-17Don't install FV protocol on the corrupt FV image. lgao43-38/+21
Signed-off-by: lgao4 Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13020 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15Enhance DXE dispatcher logic to check the duplicated FV image bases on ↵lgao42-17/+1
FvHob2 and FvNameGuid per PI spec. Signed-off-by: lgao4 Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12874 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-251. According to PI errata 0000840 and PI 1.2c Vol 3 3.2.3, remove ↵lzeng141-9/+17
description rows that start with a Required Alignment (bytes) of 2, 4, and 8. 2. In PeiFfsFvPpiGetFileInfo(), FileHeader->Attributes needs to be converted to EFI_FV_FILE_ATTRIBUTES from EFI_FFS_FILE_ATTRIBUTES before it is assigned to FileInfo->FileAttributes. 3. Set EFI_FV_FILE_ATTRIB_FIXED and EFI_FV_FILE_ATTRIB_MEMORY_MAPPED bits for EFI_FV_FILE_ATTRIBUTES based on the FFS file and FV image. Signed-off-by: lzeng14 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12777 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27Add core FFS3 support, DxeCore.lzeng144-26/+56
Signed-off-by: lzeng14 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12584 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-17CalculateSum8() and CalculateSum16() defined in BaseLib are used to ↵lzeng141-20/+4
calculate checksum. Signed-off-by: lzeng14 Reviewed-by: rsun3 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11674 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-23Update PeiCore and DxeCore to verify FFS data checksum.lgao41-5/+10
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11332 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-12Correct typo in word in DxeCore.lgao41-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11307 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian6-12/+12
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26Add more code robustness check for modules under MdeModulePkg.rsun31-1/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10108 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23PI 1.1 SMM Feature Check-indavidhuang1-3/+3
1. Update DxeMain to support COMBINED_DXE_SMM driver dispatch. 2. Add ReportStatusCodeRouter SMM part. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9591 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-16Add assertion to ensure pointer dereference has been checked against NULL ↵qhuang81-1/+1
pointer. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7528 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-04Enhance DxeCore to handle the all block sized allowed by the PI ↵lgao41-19/+151
Specification and remove the assumption that the FV block size is always larger than the size of an FV Header. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7426 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16Clean up to update the reference of the these macros:qhuang81-1/+1
EFI_SIGNATURE_16 -> SIGNATURE_16 EFI_SIGNATURE_32 -> SIGNATURE_32 EFI_SIGNATURE_64 -> SIGNATURE_64 EFI_FIELD_OFFSET -> OFFSET_OF EFI_MAX_BIT -> MAX_BIT EFI_MAX_ADDRESS -> MAX_ADDRESS These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-06Change _CR() to BASE_CR() to follow naming conventionmdkinney1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6888 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-23move header files in MdeModulePkg\Core\Dxe except DxeMain.h into their ↵eric_tian6-10/+468
corresponding sub-module directories. It is used to provide good modularity. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5949 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16follow up the comments from code review.eric_tian1-3/+6
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5891 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-12Remove the internal CoreCreateProtocolNotifyEvent() in DxeCore, for UefiLib ↵qhuang81-3/+2
provide the similar function EfiCreateProtocolNotifyEvent(). DxeCore can use that library function. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5883 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-03Updated EFI_FVB_ATTRIBUTES to EFI_FVB_ATTRIBUTES_2.vanjeff2-2/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5800 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-27Clean up DxeCore to remove duplicate memory allocation & device path utility ↵qhuang85-10/+10
services in Library.c.DxeCore should use MemoryAllocationLib & DevicePathLib for these API. Minor cleanup the coding style: #include <DxeMain.h> should be changed to #include "DxeMain.h" since "DxeMain.h" is not pubic header fie. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5742 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-24Code Scrub for Dxe Core.qhuang85-188/+188
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5560 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-18Code scrub for DxeCoreqhuang83-55/+46
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5520 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21Update to fix minor coding style issues.qhuang85-53/+45
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5256 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-09Fix the prediction warnings in DxeMain.qhuang81-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5190 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-09Add doxygen style comments for functions in DxeMain.qhuang85-371/+332
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5189 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-09Add comments and DoxyGen format for these files.lgao44-44/+20
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5028 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-10MdeModule cleanup for PI:klu22-31/+12
1) PeiMain: - Use PCD for bundle of status code which definitions are put into MdePkg.dec file. 2) DxeMain: - Use PCD for bundle of status code which definitions are put into MdePkg.dec file. - Do not produce SectionExtraction protocol which is belong to IntelFramework specification. - Update many macro for PI specifications. 3) DxeIpl - Use PCD for bundle of status code which definitions are put into MdePkg.dec file. 4) Add SectionExtractionDxe module (IntelFrameworkModulePkg) - This module will produce EFI_SECTION_EXTRACTION_PROTOCOL defined in framework specification. If a old platform want to use this protocol, then this platform need dispatch this DXE driver. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4376 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-19Use MACRO EFI_FV_FILETYPE_ALL instead of a constant.qwang121-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4303 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-18Update the return status to comply to PI spec.qwang121-1/+1
According to PI SPEC (Volume3 2.4), GetNextFile() should be return "EFI_NOT_FOUND" instead of "EFI_INVAILD_PARAMETER" when doesn't find the file with related File Type.c git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4159 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-04Merge the PI enabling works from the branchqwang124-35/+96
First round of PI enabling work: 1) PiPeiCis changes (CONST, EFI_PEI_FILE_HANDLE.. etc) 2) Make use of FirmwareVolume 2 protocol. 3) Verified for Nt32Pkg and real platform for S3. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3773 6f19259b-4bc3-4df7-8a09-765794883524