summaryrefslogtreecommitdiff
path: root/utility/tpmc.c
diff options
context:
space:
mode:
authorAndrey Pronin <apronin@chromium.org>2017-10-06 20:01:53 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2017-10-24 00:34:58 +0000
commitc1a7eb2c75c4007bddb0afc73189d9d15fb552c0 (patch)
treead2abd445df3b241a0217281ceac11142dacf1f9 /utility/tpmc.c
parent96a0ead803c22fb5e55effb9d3a571a4c88f29db (diff)
downloadvboot-c1a7eb2c75c4007bddb0afc73189d9d15fb552c0.tar.gz
tlcl, tpmc: extend GetVersion to report vendor specific datastabilize-9901.77.Bstabilize-9901.54.Bstabilize-9901.53.Brelease-R62-9901.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> (cherry picked from commit 3b805725c15022783f0737a72b4f27962abf48cd) Reviewed-on: https://chromium-review.googlesource.com/733664 Commit-Queue: Andrey Pronin <apronin@chromium.org>
Diffstat (limited to 'utility/tpmc.c')
-rw-r--r--utility/tpmc.c12
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;
}