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 for CRB.
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:
- 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.
-Kevin