summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Berger2017-11-10 01:24:02 +0100
committerStefan Berger2017-12-22 15:01:09 +0100
commit1af3d63ea3b0d18a6f17e4587f48529cd4fb26f0 (patch)
tree8efdf238b1a8e729b5aee804026aaefcecd46455
parenttpm_tis: convert uint32_t to size_t (diff)
downloadqemu-1af3d63ea3b0d18a6f17e4587f48529cd4fb26f0.tar.gz
qemu-1af3d63ea3b0d18a6f17e4587f48529cd4fb26f0.tar.xz
qemu-1af3d63ea3b0d18a6f17e4587f48529cd4fb26f0.zip
tpm_tis: limit size of buffer from backend
This is a preparatory patch for the subsequent ones where we get rid of the flexibility of supporting any kind of buffer size that the backend may support. We keep the size at 4096, which is also the size the external emulator supports. So, limit the size of the buffer we can support and pass it back to the backend. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
-rw-r--r--hw/tpm/tpm_tis.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index ac5f51f108..a6e2f6eb6c 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -1012,7 +1012,8 @@ static void tpm_tis_reset(DeviceState *dev)
int c;
s->be_tpm_version = tpm_backend_get_tpm_version(s->be_driver);
- s->be_buffer_size = tpm_backend_get_buffer_size(s->be_driver);
+ s->be_buffer_size = MIN(tpm_backend_get_buffer_size(s->be_driver),
+ TPM_TIS_BUFFER_MAX);
tpm_backend_reset(s->be_driver);
@@ -1044,7 +1045,7 @@ static void tpm_tis_reset(DeviceState *dev)
tpm_tis_realloc_buffer(&s->loc[c].r_buffer, s->be_buffer_size);
}
- tpm_tis_do_startup_tpm(s, 0);
+ tpm_tis_do_startup_tpm(s, s->be_buffer_size);
}
static const VMStateDescription vmstate_tpm_tis = {