tpm: CRB: query backend for TPM established flag
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Tue, 20 Mar 2018 20:31:50 +0000 (16:31 -0400)
committerStefan Berger <stefanb@linux.vnet.ibm.com>
Wed, 21 Mar 2018 12:01:03 +0000 (08:01 -0400)
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 e8c42f6e3d4edcd6be3282e3be85a25833b35ec4..ef8b80e9aa979f4f09ec06913325ac216014e705 100644 (file)
@@ -84,6 +84,12 @@ static uint64_t tpm_crb_mmio_read(void *opaque, hwaddr addr,
     unsigned offset = addr & 3;
     uint32_t val = *(uint32_t *)regs >> (8 * offset);
 
+    switch (addr) {
+    case A_CRB_LOC_STATE:
+        val |= !tpm_backend_get_tpm_established_flag(s->tpmbe);
+        break;
+    }
+
     trace_tpm_crb_mmio_read(addr, size, val);
 
     return val;