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 |