12.07.2015 Views

EDK II Module Writer's Guide - Intel

EDK II Module Writer's Guide - Intel

EDK II Module Writer's Guide - Intel

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Create H<strong>II</strong> driver handle, paramter DriverHandle will hold the// returned new handle.// HiiLibCreateHiiDriverHandle defined in UefiHiiLib library class.//Status = HiiLibCreateHiiDriverHandle(&DriverHandle);//// Prepare H<strong>II</strong> package list, parameter DriverSampleStrings is the// strings binary data.// HiiLibPreparePackageList defined in UefiHiiLib library class//PackageList = HiiLibPreparePackageList (2,&mFormSetGuid,DriverSampleStrings,VfrBin);if (PackageList == NULL) {return EFI_OUT_OF_RESOURCES;}//// Create package into H<strong>II</strong> database via EFI_H<strong>II</strong>_PROTOCOL->NewPackageList//Status = HiiDatabase->NewPackageList (HiiDatabase,PackageList,DriverHandle[0],&HiiHandle[0]);3.7 Building the moduleAfter the module source is finished, the module INF is added into the DSC file to bebuilt to the expected binary image. Library, EFI and OptionRom images are supportedby the <strong>EDK</strong> <strong>II</strong> build system.3.7.1 Add the module INF in package DSCTo build a module, the module INF file is specified in DSC [Components] section. Itsrelative file path from the workspace (beginning from the package directory) up toand including the INF file name is added per the following example. Some modulemay be required to be built for the specific ARCH.The DSC [Defines] section lists all supported architectures for this platform. The[Components.ARCH] section lists the modules for this architecture. The ARCH must beon the list of all ARCHs from the [Defines] section. The separate [Components]section can be created for the modules that support the different architectures.33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!