[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] vhost-vdpa: skip TPM CRB memory section
From: |
marcandre . lureau |
Subject: |
[PATCH] vhost-vdpa: skip TPM CRB memory section |
Date: |
Tue, 22 Nov 2022 18:53:49 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
851d6d1a0f ("vfio/common: remove spurious tpm-crb-cmd misalignment
warning") removed the warning on vfio_listener_region_add() path.
An error is reported for vhost-vdpa case:
qemu-kvm: vhost_vdpa_listener_region_add received unaligned region
Skip the CRB device.
Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=2141965
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
hw/virtio/vhost-vdpa.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
index 7468e44b87..9d7206e4b8 100644
--- a/hw/virtio/vhost-vdpa.c
+++ b/hw/virtio/vhost-vdpa.c
@@ -19,6 +19,7 @@
#include "hw/virtio/virtio-net.h"
#include "hw/virtio/vhost-shadow-virtqueue.h"
#include "hw/virtio/vhost-vdpa.h"
+#include "sysemu/tpm.h"
#include "exec/address-spaces.h"
#include "migration/blocker.h"
#include "qemu/cutils.h"
@@ -46,6 +47,11 @@ static bool
vhost_vdpa_listener_skipped_section(MemoryRegionSection *section,
{
Int128 llend;
+ if (TPM_IS_CRB(section->mr->owner)) {
+ /* The CRB command buffer has its base address unaligned. */
+ return true;
+ }
+
if ((!memory_region_is_ram(section->mr) &&
!memory_region_is_iommu(section->mr)) ||
memory_region_is_protected(section->mr) ||
--
2.38.1
- [PATCH] vhost-vdpa: skip TPM CRB memory section,
marcandre . lureau <=