[SeaBIOS] [PATCH v2 1/3] tpm: Wait for tpmRegValidSts flag on CRQ interface before probing

Stephen Douthit stephend at silicom-usa.com
Mon Mar 19 18:46:12 CET 2018

On 03/19/2018 12:36 PM, Paul Menzel wrote:
> Dear Stephen,
> On 03/19/18 17:23, Stephen Douthit wrote:
>> On 03/19/2018 12:00 PM, Stefan Berger wrote:
>>> Wait for the tpmRegValidSts flag on the TPM_LOC_STATE_x register to
>>> be set; we espect the locAssigned flag to not be set.
>> s/espect/expect/ and in the subject line s/CRQ/CRB
>> Just retested the v2 series on my board so:
>> Tested-by: Stephen Douthit <stephend at silicom-usa.com>
> Do you have a setup, where you can measure the times? What times do you see?

Even in the timeout case it's shorter than the timer interrupt tick
interval on my board.  'ticks' reads 0 for both the present and absent
case on my board.

diff --git a/src/tcgbios.c b/src/tcgbios.c
index 40b3028..056c412 100644
--- a/src/tcgbios.c
+++ b/src/tcgbios.c
@@ -968,7 +968,10 @@ tpm_setup(void)
      if (!CONFIG_TCGBIOS)
+    u32 start = irqtimer_calc(0);
      TPM_version = tpmhw_probe();
+    u32 ticks = irqtimer_calc(0) - start;
+    dprintf(1, "TCGBIOS: tpmhw_probe completed in %d ticks (%d ms)\n", ticks, ticks_to_ms(ticks));
      if (TPM_version == TPM_VERSION_NONE)

More information about the SeaBIOS mailing list