3.11 Service Drivers

A service driver does not manage any devices and does not produce any instances of the EFI_DRIVER_BINDING_PROTOCOL. It is a simply a driver that produces one or more protocols on one or more new service handles in the handle database. These service handles do not have a Device Path Protocol because they do not represent physical devices. The driver entry point returns EFI_SUCCESS after the service handles are created and the protocols installed, leaving the driver resident in system memory. Some example service drivers in the MdeModulePkg in the EDK II include:
  • MdeModulePkg/Universal/Acpi/AcpiTableDxe
  • MdeModulePkg/Universal/DebugSupportDxe
  • MdeModulePkg/Universal/DevicePathDxe
  • MdeModulePkg/Universal/EbcDxe
  • MdeModulePkg/Universal/HiiDatabaseDxe
  • MdeModulePkg/Universal/PrintDxe
  • MdeModulePkg/Universal/SetupBrowserDxe
  • MdeModulePkg/Universal/SmbiosDxe