On Tue, Mar 13, 2018 at 11:36:25AM -0400, Stephen Douthit wrote:
On 03/13/2018 10:40 AM, Stefan Berger wrote:
I think that should be a first test, maybe also
I don't think we can make that the first test. If we don't wait for
tpmRegValidSts (qualified by some known zero bit), then we can't tell
the difference between no-TPM, and reading before the device is ready.
Note 2 in section 6.6 of the TIS 1.3 spec:
2. Within 30 milliseconds of the completion of TPM_Init:
a. All fields within the access register and all other registers MUST
return with the state of all their fields valid (i.e.
TPM_ACCESS_x.tpmRegValidSts is set to ‘1’).
b. The TPM MUST be ready to receive a command
I'm not sure of the specifics with the TPM. But, as a general rule of
thumb, the SeaBIOS code can assume it's been over 30ms since power was
turned on to the machine.