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