Hi,

  DxeCore has FVB notify function to call FVB protocol to check whether a FV 
image is there. DxeCore will read FV header, then base on header length to read 
the whole FV header, last check FV header. If your FV is not PI FFS format, its 
FV header length field is invalid that causes DxeCore wrongly read data.  To 
avoid it, DxeCore could be enhanced to check FV header first, then read full 
header. Could you apply the attached patch to DxeCore module and check again?

Thanks
Liming
From: Narinder Dhillon [mailto:ndhillo...@gmail.com]
Sent: Monday, October 27, 2014 8:44 AM
To: edk2-devel@lists.sourceforge.net
Subject: [edk2] Firmware Volume Block Protocol

Hi All,

I am trying to implement a non-volatile variable storage on a small part of 
eMMC device. I have implemented the FVB protocol and the 'Read' function is 
being called with increasing 'Lba' during UEFI boot.

Where is the 'Read' function is being called from ? (some sort of 
initialization code)
Why will it not stop ?
The 'Read' function is being called with increasing Lba till my board hangs.

FvbRead Lba:2 Offset:0, Numbytes:512 0x200
FvbRead Lba:3 Offset:0, Numbytes:512 0x200
FvbRead Lba:4 Offset:0, Numbytes:512 0x200

Thanx.

Attachment: FwVol.c.patch
Description: FwVol.c.patch

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to