diff options
author | Andrey Pronin <apronin@chromium.org> | 2017-10-06 20:01:53 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2017-10-12 16:35:30 -0700 |
commit | 3b805725c15022783f0737a72b4f27962abf48cd (patch) | |
tree | 901659ef5fe07f9799b298f66871ef49301a782b /utility/tpmc.c | |
parent | 5d5b2f16109662dceb55dfbe62772ee41887be82 (diff) | |
download | vboot-stabilize-10032.68.B.tar.gz |
tlcl, tpmc: extend GetVersion to report vendor specific datastabilize-10032.86.Bstabilize-10032.75.Bstabilize-10032.72.Bstabilize-10032.71.Bstabilize-10032.68.Bstabilize-10032.56.Bstabilize-10032.111.Brelease-R63-10032.Bfirmware-scribe-10045.B
1) Extend TlclGetVersion to return vendor specific data, if
requested.
2) Extend 'tpmc getver' to include vendor specific data.
BRANCH=none
BUG=chromium:771561
TEST=unit tests, running 'tpmc getver'
Change-Id: Ic04c242d4e6f33b45a80479be9ab9777b317ebe2
Reviewed-on: https://chromium-review.googlesource.com/706240
Commit-Ready: Andrey Pronin <apronin@chromium.org>
Tested-by: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Diffstat (limited to 'utility/tpmc.c')
-rw-r--r-- | utility/tpmc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/utility/tpmc.c b/utility/tpmc.c index a36f7e94..0584e32e 100644 --- a/utility/tpmc.c +++ b/utility/tpmc.c @@ -460,10 +460,18 @@ static uint32_t HandlerSendRaw(void) { static uint32_t HandlerGetVersion(void) { uint32_t vendor; uint64_t firmware_version; - uint32_t result = TlclGetVersion(&vendor, &firmware_version); + uint8_t vendor_specific[32]; + size_t vendor_specific_size = sizeof(vendor_specific); + uint32_t result = TlclGetVersion(&vendor, &firmware_version, vendor_specific, + &vendor_specific_size); if (result == 0) { - printf("vendor %08x\nfirmware_version %016" PRIx64 "\n", + printf("vendor %08x\nfirmware_version %016" PRIx64 "\nvendor_specific ", vendor, firmware_version); + size_t n; + for (n = 0; n < vendor_specific_size; ++n) { + printf("%02x", vendor_specific[n]); + } + printf("\n"); } return result; } |