diff --git a/source/chapter2-uefi.rst b/source/chapter2-uefi.rst index 4e98f7a8665beeffbd1bbb712ff9ac9b25226dc0..e0ccd7a053279e10f85993dd17e322c6e25899dc 100644 --- a/source/chapter2-uefi.rst +++ b/source/chapter2-uefi.rst @@ -93,9 +93,9 @@ FW image acceptance The OS must accept each image, that has an acceptance pending, by using a capsule composed of an EFI_CAPSULE_HEADER concatenated with the image UUID: - CapsuleGuid 0c996046-bcc0-4d04-85ec-e1fcedf1c6f8 -- HeaderSize = sizeof(EFI_CAPSULE_HEADER) + sizeof(EFI_GUID) +- HeaderSize = sizeof(EFI_CAPSULE_HEADER) - Flags = 0 -- CapsuleImageSize = sizeof(EFI_CAPSULE_HEADER) +- CapsuleImageSize = sizeof(EFI_CAPSULE_HEADER) + sizeof(EFI_GUID) - image_uuid diff --git a/source/chapter3-fwupdate.rst b/source/chapter3-fwupdate.rst index 9b1604d31efdb2ac0b53a90ca9426a519c771ac0..0c9924d84deb8192c4447f887661578da17a2417 100644 --- a/source/chapter3-fwupdate.rst +++ b/source/chapter3-fwupdate.rst @@ -39,7 +39,7 @@ EFI_FIRMWARE_IMAGE_DESCRIPTOR as defined in the following table: =============================== ============================= FWU image directory entry field EFI_FIRMWARE_IMAGE_DESCRIPTOR =============================== ============================= - image_uuid ImageTypeId + img_type_uuid ImageTypeId lowest_accepted_version LowestSupportedImageVersion last_attempted_version LastAttemptedVersion version Version @@ -82,8 +82,6 @@ Capsule install Secure World #. UEFI implementation traverses all the images in the capsule passing them to their corresponding FMPs #. The FMP transfers the images to the FWU Implementation in the Secure World [FWU]_ #. OS requests a system reboot -#. Platform boots from the newly updated FW bank -#. OS requests a system reset Capsule install non-Secure World -------------------------------- @@ -98,8 +96,6 @@ Capsule install non-Secure World #. UEFI implementation traverses all the images in the capsule passing them to their corresponding FMPs #. The UEFI firmware performs the update #. UEFI firmware requests a system reboot -#. Platform boots from the newly updated FW bank -#. OS requests a system reset Post-capsule install reboot success ----------------------------------- @@ -112,7 +108,7 @@ Post-capsule install reboot success :width: 100% :align: center -#. Platform resets +#. Platform boots with the new FW #. From the TFA boot report [FWU]_, UEFI verifies that platform booted from the intended bank #. UEFI accepts a sub-set of the FW images [FWU]_ (the sub-set is platform specific) #. OS loader obtains the ESRT from UEFI @@ -136,7 +132,7 @@ Post-capsule install reboot fails before UEFI :width: 100% :align: center -#. Platform resets +#. Platform boots with the new FW #. The images fail to authenticate or the generic watchdog fires #. Platform resets #. Early platform bootloader detects FW maltfunction and selects another bank to boot from @@ -158,7 +154,7 @@ Post-capsule install image fails OS test :width: 100% :align: center -#. Platform resets +#. Platform boots with the new FW #. From the TFA boot report [FWU]_, UEFI verifies that platform booted from the intended bank #. UEFI accepts all images [FWU]_ #. OS loader obtains the ESRT from UEFI diff --git a/source/uml/bl33_nwd_capsule_install.txt b/source/uml/bl33_nwd_capsule_install.txt index 8ccd8b392b78ae71991b29aa5580dcb3b792ad9d..8cf21fb431a423c1950732fda847d3bb2d195737 100755 --- a/source/uml/bl33_nwd_capsule_install.txt +++ b/source/uml/bl33_nwd_capsule_install.txt @@ -8,8 +8,11 @@ participant OS #7773cf activate OS OS -> OS : set ACCEPTANCE_REQUEST on intended capsules OS -> UEFI: Schedule CapsuleUpdate() on reboot -OS -> TFA: PSCI_SYSTEM_RESET +OS -> UEFI ++: Call ResetSystem() +UEFI -> TFA: PSCI_SYSTEM_RESET +deactivate UEFI TFA -> UEFI ++: UEFI -> FWU: Perform FW update + UEFI -> TFA: PSCI_SYSTEM_RESET @enduml