mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 16:41:55 +00:00
tpm: make TPM_FW_VER register return both build and version strings
Both build string (which includes status of all firmware components of the running image) and the firmware version string (which show versions of various objects in the flash) are important to the user. Let's include both of these strings into the TPM_FW_VER register output. Buffer storing the string needs to be increased accordingly. BRANCH=none BUG=chrome-os-partner:55558 TEST=verified the contents of the AP firmware console log: localhost ~ # grep cr50 /sys/firmware/log Firmware version: RO_A: 0.0.1/84e2dde7 RO_B:* 0.0.2/13eda43f RW_A: ... cr50_v1.1.5003-af11829+ private-cr51:v0.0.66-bd9a0fe tpm2:v0.0.259-8f3d735... Change-Id: I67df3e810bd07053d0b7d8b6fac350253ca06bb0 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/364830 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
b4a9135ffc
commit
7fbac79e94
@@ -109,7 +109,13 @@ enum tpm_sts_bits {
|
||||
|
||||
/* Used to count bytes read in version string */
|
||||
static int tpm_fw_ver_index;
|
||||
static uint8_t tpm_fw_ver[180];
|
||||
/*
|
||||
* Used to store the full version string, which includes version of the two RO
|
||||
* and two RW regions in the flash as well as the version string of the four
|
||||
* cr50 image components. The number is somewhat arbitrary, calculated for the
|
||||
* worst case scenario when all compontent trees are 'dirty'.
|
||||
*/
|
||||
static uint8_t tpm_fw_ver[260];
|
||||
|
||||
/*
|
||||
* We need to be able to report firmware version to the host, both RO and RW
|
||||
@@ -155,6 +161,12 @@ static void set_version_string(void)
|
||||
" RW_B:%s %s",
|
||||
(active_rw == SYSTEM_IMAGE_RW_B ? "*" : ""),
|
||||
system_get_version(SYSTEM_IMAGE_RW_B));
|
||||
offset = strlen(tpm_fw_ver);
|
||||
if (offset == sizeof(tpm_fw_ver) - 1)
|
||||
return;
|
||||
|
||||
snprintf(tpm_fw_ver + offset, sizeof(tpm_fw_ver) - offset,
|
||||
"\n%s", system_get_build_info());
|
||||
}
|
||||
|
||||
static void set_tpm_state(enum tpm_states state)
|
||||
|
||||
Reference in New Issue
Block a user