Andrew Fish

On Apr 23, 2013, at 5:43 AM, Vishnuvardhan Reddy 
<[email protected]> 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. 

The code in the DXE Core lives here: 
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Core/Dxe/SectionExtraction/CoreSectionExtraction.c

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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to