Appendix B EDK II Sample Drivers

This appendix lists sample UEFI Drivers in the EDK II open source project along with their UEFI Driver related properties. This is not an exhaustive list of UEFI Drivers available from the EDK II open source project. Instead, a set of UEFI Drivers that provide examples of each major UEFI Driver feature this guide describes are listed. This appendix may be used to review UEFI Driver implementations that implement a specific UEFI Driver feature. Or it may be used to find an example UEFI Driver with a feature set that closely matches the features required for a new UEFI Driver so an existing driver can be cloned as a starting point.

Table 47-UEFI Driver Properties
Field Field value Description
DB Number of Driver Binding Protocols installed in the driver entry point.
CFG 1 Driver Configuration Protocol is installed in the driver entry point.
2 Driver Configuration 2 Protocol is installed in the driver entry point.
* Both Driver Configuration and Driver Configuration 2 are installed.
H HII packages are installed in the driver entry point for configuration.
DIAG 1 Driver Diagnostics Protocol is installed in the driver entry point.
2 Driver Diagnostics 2 Protocol is installed in the driver entry point.
* Both Driver Diagnostics and Driver Diagnostics 2 are installed.
CN 1 Component Name Protocol is installed in the driver entry point.
2 Component Name 2 Protocol is installed in the driver entry point.
* Both Component Name and Component Name 2 are installed.
Class B Bus driver.
D Device driver.
H Hybrid driver.
R Root bridge driver.
S Service driver.
I Initializing driver.
Child All All child handles in first call to Start().
1/All Can create 1 child handle at a time or all child handles in Start().
1 Creates at most 1 child handle in Start().
0 Create no child handles in Start(). Used for hot-plug bus types.
Parent Number of parent drivers to this driver
Field Field Description
value
Type B UEFI Boot Services Driver. UEFI Runtime Driver.
R
UL Y Driver is unloadable.
HP Y Driver supports a Hot Plug device or bus
Table 48-Sample UEFI Driver Properties
Driver DB CFG DIAG CN CLASS
IntelFrameworkModulePkg/Bus/Isa/ IsaBusDxe 1 - - * B
IntelFrameworkModulePkg/Bus/Isa/ IsaFloppyDxe 1 - - * D
IntelFrameworkModulePkg/Bus/Isa/ IsaSerialDxe 1 - - * B
IntelFrameworkModulePkg/Bus/Isa/ Ps2KeyboardDxe 1 - - * D
IntelFrameworkModulePkg/Bus/Isa/ Ps2MouseDxe 1 - - * D
MdeModulePkg/Bus/Pci/PciBusDxe 1 - - * B
DuetPkg/PciBusNoEnumerationDxe 1 - - * B
MdeModulePkg/Bus/Pci/UhciDxe 1 - - * D
MdeModulePkg/Bus/Pci/EhciDxe 1 - - * D
MdeModulePkg/Bus/Pci/XhciDxe 1 - - * D
OptionRomPkg/UndiRuntimeDxe 1 - - - B
OptionRomPkg/CirrusLogic5430Dxe 1 - - * D
MdeModulePkg/Bus/Scsi/ScsiBusDxe 1 - - * B
MdeModulePkg/Bus/Scsi/ScsiDiskDxe 1 - - * D
MdeModulePkg/Bus/Ata/ AtaAtapiPassThruDxe 1 - - * D
MdeModulePkg/Bus/Ata/AtaBusDxe 1 - - * B
MdeModulePkg/Bus/Usb/UsbBusDxe 1 - - * B
MdeModulePkg/Bus/Usb/UsbKbDxe 1 - - * D
MdeModulePkg/Bus/Usb/ UsbMassStorageDxe 1 - - * D
MdeModulePkg/Bus/Usb/UsbMouseDxe 1 - - * D
IntelFrameworkModulePkg/Bus/Pci/ IdeBusDxe 1 1 * * H
FatPkg/EnhancedFatDxe 1 - - * D
MdeModulePkg/Universal/Console/ ConPlatfomDxe 2 - - * D
MdeModulePkg/Universal/Console/ ConSplitterDxe 4 - - * B
MdeModulePkg/Universal/Console/ TerminalDxe 1 - - * H
MdeModulePkg/Universal/EbcDxe - - - - S
PcAtChipsetPkg/PciHostBridgeDxe - - - - R
MdeModulePkg/Universal/Network/ Ip4ConfigDxe 1 H - * H
MdeModulePkg/Universal/ HiiResourcesSampleDxe - H - - S
Driver CHILD PARENT TYPE UL HP
IntelFrameworkModulePkg/Bus/Isa/ IsaBusDxe All 1 B - -
IntelFrameworkModulePkg/Bus/Isa/ IsaFloppyDxe - 1 B - -
IntelFrameworkModulePkg/Bus/Isa/ IsaSerialDxe 1 1 B - -
IntelFrameworkModulePkg/Bus/Isa/ Ps2KeyboardDxe - 1 B - -
IntelFrameworkModulePkg/Bus/Isa/ Ps2MouseDxe - 1 B - -
MdeModulePkg/Bus/Pci/PciBusDxe 1/All 1 B - Y
DuetPkg/PciBusNoEnumerationDxe 1/All 1 B - -
MdeModulePkg/Bus/Pci/UhciDxe - 1 B - -
MdeModulePkg/Bus/Pci/EhciDxe - 1 B - -
MdeModulePkg/Bus/Pci/XhciDxe - 1 B - -
OptionRomPkg/UndiRuntimeDxe 1 1 R - -
OptionRomPkg/CirrusLogic5430Dxe - 1 B - -
MdeModulePkg/Bus/Scsi/ScsiBusDxe 1/All 1 B - -
MdeModulePkg/Bus/Scsi/ScsiDiskDxe - 1 B - -
MdeModulePkg/Bus/Ata/ AtaAtapiPassThruDxe - 1 B - -
MdeModulePkg/Bus/Ata/AtaBusDxe 1/All 1 B - -
MdeModulePkg/Bus/Usb/UsbBusDxe 0 1 B - Y
MdeModulePkg/Bus/Usb/UsbKbDxe - 1 B - -
MdeModulePkg/Bus/Usb/ UsbMassStorageDxe - 1 B - -
MdeModulePkg/Bus/Usb/UsbMouseDxe - 1 B - -
IntelFrameworkModulePkg/Bus/Pci/ IdeBusDxe 1/All 1 B - -
FatPkg/EnhancedFatDxe - 1 B Y -
MdeModulePkg/Universal/Console/ ConPlatfomDxe - 1 B - -
MdeModulePkg/Universal/Console/ ConSplitterDxe All >1 B - -
MdeModulePkg/Universal/Console/ TerminalDxe 1 1 B - -
MdeModulePkg/Universal/EbcDxe - - B - -
PcAtChipsetPkg/PciHostBridgeDxe - - B - -
MdeModulePkg/Universal/Network/ Ip4ConfigDxe All 1 B Y -
MdeModulePkg/Universal/ HiiResourcesSampleDxe - - B Y -