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