What these devices are supposed to do? Device Firmware, System Firmware, Microsoft Device Association Root Enumerator, Microsoft UEFI-Compliant System

Gloria Gu 3,896 Reputation points
2020-07-16T08:17:44.113+00:00

I am working on a UEFI based bare-metal Hypervisor that supports boot and reboot of Windows running as a guest alongside RTOS/Linux. The complete UEFI (built from EDK2 repo on github) is re-run inside guest context to provide boot services to Windows Boot Manager. Everything works fine on first boot and reboot but following list of devices don't show up on Windows boot with HV:

Device Class Device Name

=========================

FIRMWARE Device Firmware
FIRMWARE System Firmware
SOFTWAREDEVICE Microsoft Device Association Root Enumerator
SYSTEM Microsoft UEFI-Compliant System

These devices do show up when I boot Windows naively. Any idea what these devices are and what are they supposed to do?

Please note that UEFI instance that runs under guest context is stock UEFI with minor modifications to run inside VM. It does NOT contain any signatures from Microsoft or Manufacturers/OEMs.

Thread source link: https://social.technet.microsoft.com/Forums/windowsserver/en-US/205bd5b9-3877-4c49-9a27-314f92b40a72/what-these-devices-are-supposed-to-do-device-firmware-system-firmware-microsoft-device?forum=win10itprovirt

Hyper-V
Hyper-V
A Windows technology providing a hypervisor-based virtualization solution enabling customers to consolidate workloads onto a single server.
2,730 questions
0 comments No comments
{count} votes

Accepted answer
  1. Xiaowei He 9,906 Reputation points
    2020-07-16T08:45:24.557+00:00

    Hi,

    Thanks for your question.

    There are two types of firmware that can be serviced via Windows: system firmware and device firmware. System firmware is responsible for providing critical boot and runtime services to the system as a whole, and device firmware is associated with a particular device integrated into a system.A firmware update is a software program that can be used to update the firmware in these devices. For example, a user could download a firmware update for a network router that enhances its capabilities or fixes an issue. Firmware updates are available from hardware manufacturers.ice firmware is associated with a particular device integrated into a system.

    Furthermore, the Microsoft Device Association Root Enumerator does exactly as it says. When a device has to install drivers or software it may use a "Rooted" piece of software - the Enumerator assigns a value. Think like the old library look-up system with the paper cards and the dewey decimals.

    So - you install a device like a MIDI keyboard so you can do some sick drops. This device may require the software to start immediately on boot-up. Without the Root Enumerator doing its portion you may experience certain portions of your equipment "malfunctioning". So you may blame the PC or heck even the manufacturer of the device for it being "broken", but hey you're a DJ, gotta get the foam flowing right at the apex of the song right? That 1/1000 of a second means the world.

    Detailed reference for this information,

    https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/windows-uefi-firmware-update-platform

    Hope above information can help you.

    Highly appreciate your effort and time. If you have any question or concern, please feel free to let me know.

    Best regards,

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.