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