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