3.15.4 Console drivers

UEFI consoles drivers may include one or more of the following:

  • Text console devices

  • Graphical console devices

  • Keyboards

  • Mice

  • Serial ports

Some systems may provide custom console devices. The following table shows examples of console related UEFI Drivers from the EDK II. These UEFI Drivers may be carried by the platform firmware or in standard containers for UEFI Drivers such as PCI Option ROMs.

Table 13-UEFI console drivers

Class of driver

Type of driver

Driver name

Description and example

USB Console

USB host controller driver

UhciDxe br/> EhciDxe br/> XhciDxe

Consumes the PCI I/O Protocol and produces the USB 2 Host Controller Protocol. 25: Image(EhciDxe) DriverBinding ComponentName2 ComponentName

USB Console

USB bus driver

UsbBusDxe

Consumes the USB Host Controller 2 Protocol and produces the USB I/O Protocol. 26: Image(UsbBusDxe) DriverBinding ComponentName2 ComponentName

USB Console

USB keyboard driver

UsbKbDxe

Consumes the USB I/O Protocol and produces the Simple Input Ex Protocol and Simple Input Protocol. 27: Image(UsbKbDxe) DriverBinding ComponentName2 ComponentName

USB Console

USB mouse

UsbMouseDxe

Consumes the USB I/O Protocol and produces the Simple Pointer Protocol. 28: Image(UsbMouseDxe) DriverBinding ComponentName2 ComponentName

Graphics

Graphics Output

CirrusLogic5430 Dxe

Consumes the PCI I/O Protocol and produces the Graphics Output Protocol. 2E: Image(CirrusLogic5430Dxe) DriverBinding ComponentName2 ComponentName

Graphics

Graphics console driver

GraphicsConsole Dxe

Consumes the Graphics Output Protocol and produces the Simple Text Output Protocol. 2D: Image(GraphicsConsoleDxe) ComponentName

Serial

PCI Serial

PciSerialDxe

Consumes the PCI I/O Protocol and produces the Serial I/O Protocol. 30: Image(PciSerialDxe) DriverBinding ComponentName2 ComponentName

Serial

Serial terminal driver

TerminalDxe

Consumes the Serial I/O Protocol and produces the Simple Text Input, Simple text Input Ex, and Simple Text Output Protocols. 31: Image(TerminalDxe) DriverBinding ComponentName2 ComponentName

Generic Console

Platform console management

ConPlatformDxe

This driver is unique in that a single set of driver code produces two driver handles――one for the "Console Out" and another for the "Console In". This driver evaluates the set of physical console devices and the UEFI Console Variables that describe the platform settings for active consoles and marks the active consoles to they can be easily discovered by driver ConSplitterDxe. Different platforms may modify the default policy decisions this driver provides. 32: Image(ConPlatformDxe) Driver Binding ComponentName2 ComponentName 33: DriverBinding ComponentName2 ComponentName

Generic Console

Console splitter driver

ConSplitterDxe

This driver may not be present on all platforms. It is only required on platforms that support multiple output console devices or multiple input console devices. It combines the various selected input and output devices for the following four basic UEFI user devices: ConIn ConOut ErrOut PointerIn It also installs multiple driver handles for a single set of driver code. It installs driver handles to manage ConIn, ConOut, ErrOut, and PointerIn devices. The entry point of this driver creates virtual handles for ConIn, ConOut, and StdErr, respectively, that are called the following: PrimaryConIn PrimaryConOut PrimaryStdErr The virtual handles always exist even if no console exists or no consoles are yet connected in the system. 34: Image(ConSplitterDxe) DriverBinding ComponentName2 ComponentName 35: DriverBinding ComponentName2 ComponentName 36: DriverBinding ComponentName2 ComponentName 37: DriverBinding ComponentName2 ComponentName 38: TxtinEx Txtin SimplePointer AbsolutePointer 39: Txtout GraphicsOutput UgaDraw