On Apr 11, 2013, at 12:20 PM, Duane Voth <[email protected]> wrote:
> So what are Ffs files?
The Flash Device (FD) is made up of a set of regions and some of these regions
contain Firmware Volumes (FVs). An FV has a header and a series of FFS file.
FFS files are made up of Sections. It is all documented in the PI
specifications located here: http://www.uefi.org/specs/ UEFI Platform
Initialization Specification 1.2.1
> Two *unnamed* Ffs entries in edk2/Build/OvmfX64/DEBUG_GCC46/FV/Ffs appear to
> have Cirrus content ... -
So if you look in the *.FDF file for a project you normally see an .inf file
listed as the contests of an FV (these get mapped into the FFS files):
INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
And the FDF file contains generic rules on how to package up a driver into an
FFS file. So the binary output of Ps2keyboardDxe.inf build, and some other bits
get packaged up into a set of sections and an FFS is created for inclusion in
the FV. The file name would be the FILE_GUID from the INF file.
[Rule.Common.UEFI_DRIVER.BINARY]
FILE DRIVER = $(NAMED_GUID) {
DXE_DEPEX DXE_DEPEX Optional |.depex
PE32 PE32 |.efi
UI STRING="$(MODULE_NAME)" Optional
VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
}
It is also possible to to just place binary images into the FV. So for example
here is the Intel NIC binary getting placed in the FV, and the 2nd example is
the logo stored as data in a file.
FILE DRIVER = 5D695E11-9B3F-4b83-B25F-4A8D5D69BE07 {
SECTION PE32 = Intel3.5/EFIX64/E3507X2.EFI
}
FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
SECTION RAW = MdeModulePkg/Logo/Logo.bmp
}
So if you were using a binary you would expect to see a FILE statement for it
in the FDF file.....
Thanks,
Andrew Fish
> -----------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel