Re: [edk2] Help:Nested Volume module extraction

Subject: Re: [edk2] Help:Nested Volume module extraction

From: Andrew Fish <afish@apple.com>

To: edk2-devel@lists.sourceforge.net

Date: 2013-04-25 20:33:55



Andrew Fish

On Apr 23, 2013, at 5:43 AM, Vishnuvardhan Reddy <Vishnuvardhan.Reddy@lntinfotech.com> wrote:

Hello Experts,
I would like to know that is there any difference between efi module compression and efi volume compression??
No.

I am working with nested firmware volume and one of the firmware volume is having another firmware volume compressed and I would like to know whether same module decompression logic works in extracting the uncompressed fv??
 

Yes the only difference is for a module the section type is PE32, but for an FV the section type is FV_IMAGE. 



There are two types of sections in and FV File, they are encapsulating and leaf sections. 

The FV is a leaf section and the DXE Core will dispatch drivers out of an FV file. This code is in https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Core/Dxe/Dispatcher/Dispatcher.c. If you look at CoreFwVolEventProtocolNotify() the code that checks if the Type == EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE processes the FV as a file.

An encapsulation section has a GUID and a Section Extraction protocol will match that GUID to perform the extraction. When you use the FV protocol you just ask for a section and the encapsulation sections are processed to make a tree, but you just see a set of leaf sections from the FV protocol point of view.

So here is an example of an FDF file that has a compressed FV.

https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/OvmfPkg/OvmfPkgX64.fdf
FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
   SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
     SECTION FV_IMAGE = MAINFV
   }
 }
9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 is the FV file name. EE4E5898-3914-4259-9D6E-DC7BD79403CF is the GUID for the compression scheme, and MAINFV is an FV that is a leaf section in an FV file. 


Thanks,

Andrew Fish

Appreciated your help.
 
Thanks & regards,
Vishnu


The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail"
*************************************************************************
 This email and attachments have been scanned for
 potential proprietary or sensitive information leakage.
 Websense Data Security, Protecting Your Information from the Inside Out.
 www.websense.com
 *************************************************************************
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel