Plug and play device

The presence of an ESRT configuration table will direct Windows to enumerate a separate PnP device instance for each firmware resource. For driver matching purposes, a firmware resource device is uniquely identified by its hardware IDs, which embed the Firmware ID GUID. Referring to the ESRT example in ESRT table definition, the corresponding device instances are enumerated.

Device instance ID Hardware ID
UEFI\RES_{SYSTEM_FIRMWARE}\0 UEFI\RES_{SYSTEM_FIRMWARE}&REV_1, UEFI\RES_{SYSTEM_FIRMWARE}
UEFI\RES_{DEVICE_FIRMWARE}\0 UEFI\RES_{DEVICE_FIRMWARE}&REV_1, UEFI\RES_{DEVICE_FIRMWARE}

Notice that two hardware IDs are reported by each firmware resource device. The first hardware ID includes the current firmware resource version, while the second one does not.

Since the firmware resource version is expected to change as a result of applying a firmware update, it is important that a driver be targeted for the second un-versioned hardware ID so that it can be applicable for installation across all firmware resource versions, no matter which version is currently present on a given system.

ESRT table definition

Authoring an update driver package

Processing updates

Device I/O from the UEFI environment

Seamless crisis prevention and recovery

Firmware update status