Note that in this example only one of the two devices defined in the ESRT table has installed a new firmware resource update driver package. Fieldįrom corresponding ESRT resource entry's FirmwareClass.Ĭapsule Header Size + The size of firmware.bin. Referring back to the ESRT example in ESRT table definition and the firmware resource update driver package INF example in Authoring an update driver package, the capsule headers the Windows OS loader creates to pass into UpdateCapsule would be as follows. Proprietary capsule flags may also be specified in the INF and when specified will additionally be included when calling UEFI UpdateCapsule The Windows OS loader may additionally set CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE for firmware types DEVICE_FIRMWARE, if the capsule flag was specified in the INF for the driver package. In setting each capsule header's flags field, the Windows OS loader always sets CAPSULE_FLAGS_PERSIST_ACROSS_RESET and CAPSULE_FLAGS_INITIATE_RESET. The Windows OS loader creates capsule headers using the information from each update's corresponding ESRT entry, which describes the GUID and flags to use when calling UEFI UpdateCapsule. After any firmware update packages have been applied and the system subsequently rebooted, the Windows OS loader loads all the firmware payload files (in this example, firmware.bin) into physical memory.
0 Comments
Leave a Reply. |