[EXTERNAL] Re: [edk2-discuss] [EXTERNAL] Re: [edk2-discuss] ESRT in OVMF

Tomas Pilar (tpilar)

HI Sandeep,

The EsrtDxe provides an API to add ESRT entries manually, you could
instrument that in SfcNicDriver actually - during controller binding check
if gEsrtManagementProtocolGuid is installed and if so, use the protocol to
add an entry for the FMP that you just installed. The EsrtFmpDxe is a
driver that enumerates all FMP instances and automatically generates ESRT
entries based on that. If it hangs there is a good chance that the
EsrtFmpDxe driver is hanging at the point when an FMP instance has been
just installed and an ESRT entry is being generated. The hang might have
something to do with the specific instance of the FMP. You could test this
by running OVMF with EsrtFmpDxe included but not passing in any devices
that install FMP instances.


On Thu, Jul 30, 2020 at 12:55 PM Sandeep Dhanvada <
sandeep.dhanvada@...> wrote:

Hi Tom,

I tried MdeModulePkg/Universal/EsrtFmpDxe, but booting hanged at selecting
Boot option.
I then used, MdeModulePkg/Universal/EsrtDxe/EsrtDxe.inf. There are no
issues observed in boot, but, still i am not able to update capsule.
CapsuleApp.efi was complaining that update image failed with status as
"Not Ready". Looks like QueryCapsule succeeded, but, UpdateCapsule failed.


Sandeep Dhanvada

Hi Tom,

Sorry for the delayed response. I was offloaded to some other work.

Thanks for the pointer. There was some issue in FMP code in UEFI driver. After fixing this issue, booting is fine and ESRT entry is also generated by BIOS.

CapsuleApp.efi with embedded FMP driver capsule is giving error that "Not Ready", but, a capsule without embedded driver was fine. I see that next boot is recognizing the capsule, but, it is not updated. I added AsciiPrint in SetImage and GetImageInfo functions, but, i see only prints in GetImageInfo, but not from SetImage. and there is no debug information from BIOS environment that capsule update failed. Is there any way we can add debug information in BIOS?