]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
tpm: CRB: Set tpmRegValidSts flag to '1' in device reset
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Mon, 19 Mar 2018 16:13:14 +0000 (12:13 -0400)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Wed, 21 Mar 2018 12:00:31 +0000 (08:00 -0400)
Fix the initialization of the tpmRegValidSts flag and set it to '1'
during device reset without expecting a write to another register.
This seems to also be the default behavior of real hardware.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
hw/tpm/tpm_crb.c

index d8917cb101f2a63b77380dd4574ce12e01c4b49f..114b66ebe17d8bde1317e0fa4fe5514047237998 100644 (file)
@@ -145,8 +145,6 @@ static void tpm_crb_mmio_write(void *opaque, hwaddr addr,
                              beenSeized, 0);
             ARRAY_FIELD_DP32(s->regs, CRB_LOC_STATE,
                              locAssigned, 1);
-            ARRAY_FIELD_DP32(s->regs, CRB_LOC_STATE,
-                             tpmRegValidSts, 1);
             break;
         }
         break;
@@ -210,6 +208,8 @@ static void tpm_crb_reset(void *dev)
 
     tpm_backend_reset(s->tpmbe);
 
+    ARRAY_FIELD_DP32(s->regs, CRB_LOC_STATE,
+                     tpmRegValidSts, 1);
     ARRAY_FIELD_DP32(s->regs, CRB_INTF_ID,
                      InterfaceType, CRB_INTF_TYPE_CRB_ACTIVE);
     ARRAY_FIELD_DP32(s->regs, CRB_INTF_ID,