On 20.06.23 21:50, Laurent Vivier wrote:
This memory is not correctly aligned and cannot be registered
by vDPA and VFIO.
An error is reported for vhost-vdpa case:
qemu-kvm: vhost_vdpa_listener_region_add received unaligned region
To make it ignored by VFIO and vDPA devices, mark it as RAM_PROTECTED.
The RAM_PROTECTED flag has been introduced to skip memory
region that looks like RAM but is not accessible via normal
mechanims, including DMA.
See 56918a126a ("memory: Add RAM_PROTECTED flag to skip IOMMU mappings")
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=2141965
cc: peter.mayd...@linaro.org
cc: marcandre.lur...@redhat.com
cc: eric.au...@redhat.com
cc: m...@redhat.com
cc: jasow...@redhat.com
Signed-off-by: Laurent Vivier <lviv...@redhat.com>
---
hw/tpm/tpm_crb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/tpm/tpm_crb.c b/hw/tpm/tpm_crb.c
index ea930da545af..0a93c488f2fa 100644
--- a/hw/tpm/tpm_crb.c
+++ b/hw/tpm/tpm_crb.c
@@ -296,7 +296,7 @@ static void tpm_crb_realize(DeviceState *dev, Error **errp)
memory_region_init_io(&s->mmio, OBJECT(s), &tpm_crb_memory_ops, s,
"tpm-crb-mmio", sizeof(s->regs));
- memory_region_init_ram(&s->cmdmem, OBJECT(s),
+ memory_region_init_ram_protected(&s->cmdmem, OBJECT(s),
"tpm-crb-cmd", CRB_CTRL_CMD_SIZE, errp);
memory_region_add_subregion(get_system_memory(),
Reviewed-by: David Hildenbrand <da...@redhat.com>
--
Cheers,
David / dhildenb