3.6 Data Flows

This section defines key data structures and the ways this data flows through the system over time.

3.6.1 Serial Port Configuration

Serial port configuration spans build and boot. Serial port parameters come from the board and are used for debug features, serial input/output devices supporting local or remote consoles, and OS level debuggers.
  1. 1.
    Serial port default configuration options are defined in the MdePkg.dec.
  2. 2.
    Serial port configuration options may be overwritten by the BoardPkg.dsc.
  3. 3.
    Serial port configuration options are consumed by the SerialPortLib library class implementation.
  4. 4.
    SerialPortLib library class is used by the StatusCodeHandlerPei.inf component to initialize and display messages to a serial port.
  5. 5.
    Serial port configuration options are published via a SERIAL_PORT_CONFIGURATION_HOB.
  6. 6.
    SERIAL_PORT_CONFIGURATION_HOB is consumed by MinPlatformSerialDxe.inf to produce EFI_SERIAL_IO_PROTOCOL.

3.6.2 Debug Configuration

PCD
Purpose
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate
Baud rate for the 16550 serial port
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio
Enable serial port MMIO addressing
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl
Enable serial port HW flow control
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable
Enable blocking Tx if no cable
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
Register the serial port base address
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl
Serial port line control configuration
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl
Serial port FIFO control
gMinPlatformPkgTokenSpaceGuid.PcdSecSerialPortDebugEnable
Enable serial port debug in SEC phase
gEfiMdePkgTokenSpaceGuid.PcdFixedDebugPrintErrorLevel
Control build time optimization based on debug print level
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask
Control DebugLib behavior
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel
Control run time debug print level
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask
Control display of status codes

Table 12 Stage I Debug Configuration