回复: [edk2-devel] GetSectionFromAnyFv doesnt find file from FV

gaoliming via groups.io gaoliming=byosoft.com.cn at groups.io
Fri Mar 10 02:26:20 UTC 2023


FVMAIN_COMPACT is not reported to DXE. So, it can’t be found in DXE phase. 

 

Thanks

Liming

发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Alireza Banejad
发送时间: 2023年3月2日 20:16
收件人: devel at edk2.groups.io; alibanejad1376 at gmail.com
主题: Re: [edk2-devel] GetSectionFromAnyFv doesnt find file from FV

 

So, I managed to solve this issue by adding my file to the [FV.DXEFV] section. I don't know why my files aren't found when I add them in [FV.FVMAIN_COMPACT] section.

 

 

On Thu, Mar 2, 2023 at 3:16 PM Alireza Banejad via groups.io <http://groups.io>  <alibanejad1376=gmail.com at groups.io <mailto:gmail.com at groups.io> > wrote:

Any thoughts?

 

On Tue, Feb 28, 2023 at 3:32 PM Alireza Banejad via groups.io <http://groups.io>  <alibanejad1376=gmail.com at groups.io <mailto:gmail.com at groups.io> > wrote:

Hi everyone,

I have this bmp file which I defined in the FV.FVMAIN_COMPACT section of the OvmfPkgX64.fdf file. when I get the a hexdump on the built firmware (OVMF.fd) I can see the file inside it. but whenever I call the the GetSectionFromAnyFv() function from a Application it fails to find the file.

This is how I defined the file in OvmfX64.fdf:

____________________________________

[FV.FVMAIN_COMPACT]
FvNameGuid         = 48DB5E17-707C-472D-91CD-1613E7EF51B0
FvAlignment        = 16
ERASE_POLARITY     = 1
MEMORY_MAPPED      = TRUE
STICKY_WRITE       = TRUE
LOCK_CAP           = TRUE
LOCK_STATUS        = TRUE
WRITE_DISABLED_CAP = TRUE
WRITE_ENABLED_CAP  = TRUE
WRITE_STATUS       = TRUE
WRITE_LOCK_CAP     = TRUE
WRITE_LOCK_STATUS  = TRUE
READ_DISABLED_CAP  = TRUE
READ_ENABLED_CAP   = TRUE
READ_STATUS        = TRUE
READ_LOCK_CAP      = TRUE
READ_LOCK_STATUS   = TRUE




FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
   SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
     #
     # These firmware volumes will have files placed in them uncompressed,
     # and then both firmware volumes will be compressed in a single
     # compression operation in order to achieve better overall compression.
     #
     SECTION FV_IMAGE = PEIFV
     SECTION FV_IMAGE = DXEFV
   }
 }
  FILE FREEFORM = AFDAEAB5-3F81-4E93-8EE3-228434BA283D {
    SECTION RAW = OemPkg/FrontPage/Resources/FrontpageLogo.bmp
  }



!include FvmainCompactScratchEnd.fdf.inc

__________________________________________

 

and this is how I am using the GetSectionFromAnyFv() function:

  Status = GetSectionFromAnyFv (
             FileGuid,
             EFI_SECTION_RAW,
             0,
             (VOID **)&BMPData,
             &BMPDataSize
             );

So there's nothing much to it, yet I still don't know why it fails to find the file. I also must mention that I checked the GUID being passed to the function and the GUID of the file, they are both the same. I still don't know what's going on





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100972): https://edk2.groups.io/g/devel/message/100972
Mute This Topic: https://groups.io/mt/97511839/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/edk2-devel-archive/attachments/20230310/747b4b4f/attachment-0001.htm>


More information about the edk2-devel-archive mailing list