summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorJett Rink <jettrink@google.com>2022-11-02 12:54:47 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-03 16:51:51 +0000
commitb08b1eeca736388709381471cebbd80b6e969921 (patch)
tree9e596c10f0b694101694da821109cdee23d7ce4d /extra
parent31925f9c56051a94057cc0ceb2ce9d5ea264f139 (diff)
downloadchrome-ec-b08b1eeca736388709381471cebbd80b6e969921.tar.gz
gsctool: add support for AP RO Verification V2 status
Implement AP RO Verification V2 status that ti50 will send via the same TPM Vendor command: VENDOR_CC_GET_AP_RO_STATUS See ti50 impl in chrome-internal:5070449 BUG=b:256892104 TEST=manually verified all V2 return values from ti50 Change-Id: I95c071046054075c045d8e698946dc81e55c64dd Signed-off-by: Jett Rink <jettrink@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3999806 Tested-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'extra')
-rw-r--r--extra/usb_updater/gsctool.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c
index ff4857de1d..a000182e19 100644
--- a/extra/usb_updater/gsctool.c
+++ b/extra/usb_updater/gsctool.c
@@ -2568,12 +2568,14 @@ static int process_get_apro_boot_status(struct transfer_descriptor *td)
printf("not run\n");
break;
case AP_RO_PASS:
+ case AP_RO_V2_SUCCESS:
printf("pass\n");
break;
case AP_RO_PASS_UNVERIFIED_GBB:
printf("pass - unverified gbb!\n");
break;
case AP_RO_FAIL:
+ case AP_RO_V2_FAILED_VERIFICATION:
printf("FAIL\n");
break;
case AP_RO_UNSUPPORTED_TRIGGERED:
@@ -2588,7 +2590,44 @@ static int process_get_apro_boot_status(struct transfer_descriptor *td)
case AP_RO_IN_PROGRESS:
printf("in progress.");
break;
+ case AP_RO_V2_INCONSISTENT_GSCVD:
+ printf("inconsistent gscvd\n");
+ break;
+ case AP_RO_V2_INCONSISTENT_KEYBLOCK:
+ printf("inconsistent keyblock\n");
+ break;
+ case AP_RO_V2_INCONSISTENT_KEY:
+ printf("inconsistent key\n");
+ break;
+ case AP_RO_V2_SPI_READ:
+ printf("spi read failure\n");
+ break;
+ case AP_RO_V2_UNSUPPORTED_CRYPTO_ALGORITHM:
+ printf("unsupported crypto algo\n");
+ break;
+ case AP_RO_V2_VERSION_MISMATCH:
+ printf("header version mismatch\n");
+ break;
+ case AP_RO_V2_OUT_OF_MEMORY:
+ printf("out of memory\n");
+ break;
+ case AP_RO_V2_INTERNAL:
+ printf("internal\n");
+ break;
+ case AP_RO_V2_TOO_BIG:
+ printf("too many areas\n");
+ break;
+ case AP_RO_V2_MISSING_GSCVD:
+ printf("missing gscvd\n");
+ break;
+ case AP_RO_V2_BOARD_ID_MISMATCH:
+ printf("board id mismatch\n");
+ break;
+ case AP_RO_V2_SETTING_NOT_PROVISIONED:
+ printf("setting not provisioned\n");
+ break;
default:
+ printf("unknown\n");
fprintf(stderr, "unknown status\n");
return update_error;
}