diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2016-02-11 16:42:01 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-02-17 12:01:32 -0800 |
commit | 93f2848eb9e73b1460029a39f520e5a14286b5ba (patch) | |
tree | 622d7cbab43aeab3ac84b6812919538613a746b6 /include/extension.h | |
parent | ffd5819d326e66c49f1df517b26581bff4fd68be (diff) | |
download | chrome-ec-93f2848eb9e73b1460029a39f520e5a14286b5ba.tar.gz |
cr50: upgrade command extension
This patch suggests a firmware upgrade mechanism implemented through
an extended TPM command.
The firmware is transmitted in chunks, each chunk accompanied by its
checksum (first 32 bits of SHA1) and the base address.
The first chunk is of size zero and has the base address set to zero.
When the first chunk is received, the command handler determines the
destination flash space (A or B), erases it, and returns its base
address to the caller, such that the firmware update agent can tell in
which of the two spaces it should write the update.
The ultimate verification happens after the device is reset - the
integrity and authentity of the firmware upgrade is verified at that
point, the new firmware will not be started unless it is properly
signed.
BRANCH=none
BUG=chrome-os-partner:37754
TEST=with all patches applied it is possible to upgrade firmware in
both spaces A and B.
Change-Id: I6aedc587ec630d65ba81000496f372c9044959a0
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/327415
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'include/extension.h')
-rw-r--r-- | include/extension.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/extension.h b/include/extension.h index 78b9d63f37..4e7b66558c 100644 --- a/include/extension.h +++ b/include/extension.h @@ -50,6 +50,7 @@ enum { EXTENSION_HASH = 1, EXTENSION_RSA = 2, EXTENSION_EC = 3, + EXTENSION_FW_UPGRADE = 4, }; |