diff options
author | Anthony PERARD | 2022-04-11 16:47:49 +0200 |
---|---|---|
committer | Stefan Berger | 2022-06-08 02:37:25 +0200 |
commit | e37a0ef4605e5d2041785ff3fc89ca6021faf7a0 (patch) | |
tree | 7925dbcabc22cc87499ca7d7387beed459f30525 /hw/tpm | |
parent | hw/tpm/tpm_tis_common.c: Assert that locty is in range (diff) | |
download | qemu-e37a0ef4605e5d2041785ff3fc89ca6021faf7a0.tar.gz qemu-e37a0ef4605e5d2041785ff3fc89ca6021faf7a0.tar.xz qemu-e37a0ef4605e5d2041785ff3fc89ca6021faf7a0.zip |
tpm_crb: mark command buffer as dirty on request completion
At the moment, there doesn't seems to be any way to know that QEMU
made modification to the command buffer. This is potentially an issue
on Xen while migrating a guest, as modification to the buffer after
the migration as started could be ignored and not transfered to the
destination.
Mark the memory region of the command buffer as dirty once a request
is completed.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Message-id: 20220411144749.47185-1-anthony.perard@citrix.com
Diffstat (limited to 'hw/tpm')
-rw-r--r-- | hw/tpm/tpm_crb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/tpm/tpm_crb.c b/hw/tpm/tpm_crb.c index aa9c00aad3..67db594c48 100644 --- a/hw/tpm/tpm_crb.c +++ b/hw/tpm/tpm_crb.c @@ -197,6 +197,7 @@ static void tpm_crb_request_completed(TPMIf *ti, int ret) ARRAY_FIELD_DP32(s->regs, CRB_CTRL_STS, tpmSts, 1); /* fatal error */ } + memory_region_set_dirty(&s->cmdmem, 0, CRB_CTRL_CMD_SIZE); } static enum TPMVersion tpm_crb_get_version(TPMIf *ti) |