diff options
author | Jett Rink <jettrink@google.com> | 2022-11-02 12:54:47 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-03 16:51:51 +0000 |
commit | b08b1eeca736388709381471cebbd80b6e969921 (patch) | |
tree | 9e596c10f0b694101694da821109cdee23d7ce4d /extra | |
parent | 31925f9c56051a94057cc0ceb2ce9d5ea264f139 (diff) | |
download | chrome-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.c | 39 |
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; } |