Attention is currently required from: Christian Walter, Subrata Banik.
Tim Van Patten has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/79736?usp=email )
Change subject: security/tpm: Retrieve factory configuration for TI50 devices ......................................................................
Patch Set 1:
(3 comments)
Commit Message:
https://review.coreboot.org/c/coreboot/+/79736/comment/e42c97a3_a18c773b : PS1, Line 9: This patch enables retrieval of factory configuration data from : TI50 TPM devices. Why is this specific to the TI50?
go/cr50-board-id-in-factory states the command is supported by both CR50 and TI50.
File src/security/tpm/tss/tcg-2.0/tss_structures.h:
https://review.coreboot.org/c/coreboot/+/79736/comment/3803bc9b_9ac8e568 : PS1, Line 359: uint8_t factory_config; Can we make this a `uint64_t` now, so it matches what the GSC returns and we can avoid growing it in the future?
File src/security/tpm/tss/vendor/cr50/cr50.c:
https://review.coreboot.org/c/coreboot/+/79736/comment/62c73d17_1ca82944 : PS1, Line 213: *factory_config = response->vcr.factory_config; This looks odd. We're receiving a `uint64_t` from the GSC, dropping it down to a `uint8_t` to store it in `vendor_command_response`, and then expanding it back up to `uint64_t` to return it to the user.
Why are we doing `uint64_t` -> `uint8_t` -> `uint64_t`?