E Document change history¶
E.1 Changes between version 1.0.0 and 1.0.1¶
General changes
Updated introduction to reflect GlobalPlatform assuming the governance of the PSA Certified evaluation scheme.
E.2 Changes between version 1.0 Beta and 1.0.0¶
General changes
Clarified the definition of volatile staging and relaxed the requirements for non-volatile staging.
Defined the effects of the
PSA_FWU_FLAG_VOLATILE_STAGINGflag.Permitted the volatility of the WRITING, FAILED, and UPDATED states to be implementation defined when the CANDIDATE state is not volatile.
Defined the impact on the state transitions when these states are volatile.
Added additional example state model diagrams for components with volatile staging.
See State model, Volatile states, and Variation in system design parameters.
Added a Security Risk Assessment appendix for the Firmware Update API. See Security Risk Assessment.
API changes
Added
PSA_FWU_LOG2_WRITE_ALIGN, which the implementation uses to specify the required alignment of the data blocks written usingpsa_fwu_write().
E.3 Changes between version 0.7 and 1.0 Beta¶
General changes
Relicensed the document under Attribution-ShareAlike 4.0 International with a patent license derived from Apache License 2.0. See License.
Removed Profile IDs, and discussion of SUIT and manifest formats
Revised and extended all of the early chapters covering the goals, architecture and design of the API.
Updated code examples to match the v1.0 API. See Example usage.
API changes
Renamed
psa_image_id_ttopsa_fwu_component_t, and changed the type touint8_t.Renamed
psa_image_info_ttopsa_fwu_component_info_t.Removed Image ID, Vendor ID and Class ID from
psa_fwu_component_info_tstructure.Removed
psa_fwu_staging_info_t, adding any important members directly topsa_fwu_component_info_t.
Renamed
psa_image_version_ttopsa_fwu_image_version_t.Resized the fields in
psa_fwu_image_version_tto align with other project structures.Added
buildfield topsa_fwu_image_version_t.
Reworked the state model to reflect the overall state of a firmware component, not a specific image.
Renamed
PSA_FWU_UNDEFINEDtoPSA_FWU_READY- the default starting state for the state model.Renamed
CANDIDATEstate toWRITINGstate. The new definition isPSA_FWU_WRITING.Renamed
REBOOT_NEEDEDstate toSTAGEDstate. The new definition isPSA_FWU_STAGED.Renamed
PENDING_INSTALLstate toTRIALstate. The new definition isPSA_FWU_TRIAL.Renamed
INSTALLEDstate toUPDATEDstate. The new definition isPSA_FWU_UPDATED.Renamed
REJECTEDstate toFAILEDstate. The new definition isPSA_FWU_FAILED.Reintroduced
REJECTEDas a volatile state when rollback has been requested, but reboot has not yet occurred.
Renamed some of the installation functions:
Rename
psa_fwu_set_manifest()topsa_fwu_start(). This call is now mandatory, but the manifest data is optional.Rename
psa_fwu_request_rollback()topsa_fwu_reject(), to mirrorpsa_fwu_accept().Rename
psa_fwu_abort()topsa_fwu_clean().
Explicit support for concurrent installation of multiple components:
Reintroduced
CANDIDATEstate for an image that has been prepared for installation, but not installed.Add
psa_fwu_finish()to mark a new firmware image as ready for installation.Add
psa_fwu_cancel()to abandon an update that is being prepared.Removed the
component_idparameter frompsa_fwu_install(),psa_fwu_accept(), andpsa_fwu_reject(): these now act atomically on all components in the initial state for the operation.
Reference the standard definition of the status codes, and remove them from this specification. See Status codes.
Rationalize the API-specific error codes. This removes the following error codes:
PSA_ERROR_WRONG_DEVICEPSA_ERROR_CURRENTLY_INSTALLINGPSA_ERROR_ALREADY_INSTALLEDPSA_ERROR_INSTALL_INTERRUPTEDPSA_ERROR_DECRYPTION_FAILUREPSA_ERROR_MISSING_MANIFEST
Standardize the use of error codes, aligning with other PSA Certified APIs:
Use
PSA_ERROR_BAD_STATEwhen operations are called in the wrong sequence.Use
PSA_ERROR_DOES_NOT_EXISTwhen operations are called with an unknown component Id.Use
PSA_ERROR_NOT_PERMITTEDwhen firmware images do not comply with update policy.
Removed the discovery API functions and types
psa_fwu_get_image_id_iterator()psa_fwu_get_image_id_next()psa_fwu_get_image_id_valid()psa_fwu_get_image_id()psa_fwu_iterator_t
Removed Profile IDs, and discussion of SUIT and metadata formats
E.4 Changes between version 0.6 and 0.7¶
This section describes detailed changes between past versions.
PSA_FWU_API_VERSION_MINORhas increased from 6 to 7psa_image_id_tis now defined as a 32-bit integer. Functions no longer have a pointer type for this parameter.UUID concept dropped from function names and parameters.
Added Vendor ID and Class ID to
psa_image_info_tstructure.Added Future changes section
Added error code and success code definitions
Fixed mistake:
psa_fwu_abortreturn type changed from void topsa_status_tClarifications to the text
Replaced
PSA_ERROR_ROLLBACK_DETECTEDwithPSA_ERROR_NOT_PERMITTEDRemove standardized image IDs until we get more feedback
Improvements to the Design Overview text