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