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