summaryrefslogtreecommitdiff
path: root/include/extension.h
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2016-02-11 16:42:01 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-02-17 12:01:32 -0800
commit93f2848eb9e73b1460029a39f520e5a14286b5ba (patch)
tree622d7cbab43aeab3ac84b6812919538613a746b6 /include/extension.h
parentffd5819d326e66c49f1df517b26581bff4fd68be (diff)
downloadchrome-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.h1
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,
};