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.
FwVol.c.patch
Description: FwVol.c.patch
------------------------------------------------------------------------------
_______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel