UEFI consoles drivers may include one or more of the following:
Text console devices
Graphical console devices
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.
Class of driver
Type of driver
Description and example
USB host controller driver
UhciDxe br/> EhciDxe br/> XhciDxe
Consumes the PCI I/O Protocol and produces the USB 2 Host Controller Protocol.
USB bus driver
Consumes the USB Host Controller 2 Protocol and produces the USB I/O Protocol.
USB keyboard driver
Consumes the USB I/O Protocol and produces the Simple Input Ex Protocol and Simple Input Protocol.
Consumes the USB I/O Protocol and produces the Simple Pointer Protocol.
Consumes the PCI I/O Protocol and produces the Graphics Output Protocol.
Graphics console driver
Consumes the Graphics Output Protocol and produces the Simple Text Output Protocol.
Consumes the PCI I/O Protocol and produces the Serial I/O Protocol. 30: Image(PciSerialDxe) DriverBinding ComponentName2 ComponentName
Serial terminal driver
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
Platform console management
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.
Console splitter driver
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:
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:
The virtual handles always exist even if no console exists or no consoles are yet connected in the system.