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.
Serial port default configuration options are defined in the MdePkg.dec.
Serial port configuration options may be overwritten by the BoardPkg.dsc.
Serial port configuration options are consumed by the SerialPortLib library class implementation.
SerialPortLib library class is used by the StatusCodeHandlerPei.inf component to initialize and display messages to a serial port.
Serial port configuration options are published via a SERIAL_PORT_CONFIGURATION_HOB.
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 |