MdeModulePkg DxeCore: Don't cache memory mapped IO FV.

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
This commit is contained in:
Star Zeng
2014-08-27 08:31:44 +00:00
committed by lzeng14
parent 436296125b
commit eb1cace292
5 changed files with 144 additions and 87 deletions

View File

@@ -2,7 +2,7 @@
Firmware File System protocol. Layers on top of Firmware
Block protocol to produce a file abstraction of FV based files.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2014, 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
@@ -26,6 +26,7 @@ typedef struct {
LIST_ENTRY Link;
EFI_FFS_FILE_HEADER *FfsHeader;
UINTN StreamHandle;
BOOLEAN FileCached;
} FFS_FILE_LIST_ENTRY;
typedef struct {
@@ -42,9 +43,10 @@ typedef struct {
LIST_ENTRY FfsFileListHeader;
UINT32 AuthenticationStatus;
UINT8 ErasePolarity;
BOOLEAN IsFfs3Fv;
UINT32 AuthenticationStatus;
BOOLEAN IsMemoryMapped;
} FV_DEVICE;
#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV2_DEVICE_SIGNATURE)