3.3 Modules

The architecture requires the following modules. Only modules found in the BoardPkg should be modified for board porting. MinPlatformPkg and other common package contents must not be directly modified. BoardPkg and SiliconPkg modules will have multiple instances to support different boards and different silicon.

3.3.1 UEFI Components

These components are required. They enable orderly board porting and add the support for extensibility in later stages. The libraries consumed are the subset of libraries required by this specification. Some libraries are defined in this specification, and some are defined in EDK II documentation.

Item Producing Package Libraries Consumed
SecCore.efi UefiCpuPkg PlatformSecLib, SerialPortLib
PeiCore.efi MdeModulePkg
PcdPeim.efi MdeModulePkg
ReportStatusCodeRouterPei.efi MdeModulePkg
StatusCodeHandlerPei.efi MdeModulePkg SerialPortLib
ReportFvPei.efi MinPlatformPkg ReportFvLib, TestPointCheckLib
SiliconPolicyPeiPreMemory.efi MinPlatformPkg SiliconPolicyInitLib,
SiliconPolicyUpdateLib
PlatformInitPreMemory.efi MinPlatformPkg BoardInitLib, TestPointCheckLib
Table 7 Stage I UEFI Components Platform Architecture Libraries

3.3.2 Platform Architecture Libraries

Board porting will require creation of libraries identified as produced by the BoardPkg. Depending on the board, there may be existing libraries that are sufficient for a board, so it is important to assess the utility of existing library instances when developing board support.

Item API Definition Package Producing Package Description
BoardInitLib MinPlatformPkg BoardPkg Board initialization library.
ReportFvLib MinPlatformPkg MinPlatformPkg Installs platform firmware volumes.
SerialPortLib MdeModulePkg BoardPkg SIO vendor specific initialization to enable serial port.
SiliconPolicyInitLib IntelSiliconPkg SiliconPkg Provides default silicon configuration policy data.
SiliconPolicyUpdateLib IntelSiliconPkg BoardPkg Provides board updates to silicon configuration policy data.
PlatformSecLib UefiCpuPkg MinPlatformPkg Reset vector and SEC initialization code.
TestPointCheckLib MinPlatformPkg MinPlatformPkg Test point check library. It is called by PlatformInit module to perform stage-specific checks.
TestPointLib MinPlatformPkg MinPlatformPkg Test point library. It provides helper functionality for TestPointCheck lib.
Table 8 Stage I Libraries