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. Serial port default configuration options are defined in the MdePkg.dec.

  2. Serial port configuration options may be overwritten by the BoardPkg.dsc.

  3. Serial port configuration options are consumed by the SerialPortLib library class implementation.

  4. SerialPortLib library class is used by the StatusCodeHandlerPei.inf component to initialize and display messages to a serial port.

  5. Serial port configuration options are published via a SERIAL_PORT_CONFIGURATION_HOB.

  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