From: Eric Auger <eric.auger@redhat.com>
To: eric.auger.pro@gmail.com, eric.auger@redhat.com,
stefanb@linux.vnet.ibm.com, qemu-devel@nongnu.org,
alex.williamson@redhat.com
Cc: quintela@redhat.com, cohuck@redhat.com, f4bug@amsat.org,
dgilbert@redhat.com, imammedo@redhat.com,
david@gibson.dropbear.id.au
Subject: [PATCH v4 2/2] hw/vfio/common: Silence ram device offset alignment error traces
Date: Tue, 8 Feb 2022 14:38:42 +0100 [thread overview]
Message-ID: <20220208133842.112017-3-eric.auger@redhat.com> (raw)
In-Reply-To: <20220208133842.112017-1-eric.auger@redhat.com>
Failing to DMA MAP a ram_device should not cause an error message.
This is currently happening with the TPM CRB command region and
this is causing confusion.
We may want to keep the trace for debug purpose though.
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Tested-by: Stefan Berger <stefanb@linux.ibm.com>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v3 -> v4:
- s/PRIx64/PRIxPTR for qemu_real_host_page_mask
---
hw/vfio/common.c | 15 ++++++++++++++-
hw/vfio/trace-events | 1 +
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 080046e3f51..5fbeed06f2f 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -884,7 +884,20 @@ static void vfio_listener_region_add(MemoryListener *listener,
if (unlikely((section->offset_within_address_space &
~qemu_real_host_page_mask) !=
(section->offset_within_region & ~qemu_real_host_page_mask))) {
- error_report("%s received unaligned region", __func__);
+ if (memory_region_is_ram_device(section->mr)) { /* just debug purpose */
+ trace_vfio_listener_region_add_bad_offset_alignment(
+ memory_region_name(section->mr),
+ section->offset_within_address_space,
+ section->offset_within_region, qemu_real_host_page_size);
+ } else { /* error case we don't want to be fatal */
+ error_report("%s received unaligned region %s iova=0x%"PRIx64
+ " offset_within_region=0x%"PRIx64
+ " qemu_real_host_page_mask=0x%"PRIxPTR,
+ __func__, memory_region_name(section->mr),
+ section->offset_within_address_space,
+ section->offset_within_region,
+ qemu_real_host_page_mask);
+ }
return;
}
diff --git a/hw/vfio/trace-events b/hw/vfio/trace-events
index 0ef1b5f4a65..48e1ea1be76 100644
--- a/hw/vfio/trace-events
+++ b/hw/vfio/trace-events
@@ -100,6 +100,7 @@ vfio_listener_region_add_skip(uint64_t start, uint64_t end) "SKIPPING region_add
vfio_spapr_group_attach(int groupfd, int tablefd) "Attached groupfd %d to liobn fd %d"
vfio_listener_region_add_iommu(uint64_t start, uint64_t end) "region_add [iommu] 0x%"PRIx64" - 0x%"PRIx64
vfio_listener_region_add_ram(uint64_t iova_start, uint64_t iova_end, void *vaddr) "region_add [ram] 0x%"PRIx64" - 0x%"PRIx64" [%p]"
+vfio_listener_region_add_bad_offset_alignment(const char *name, uint64_t iova, uint64_t offset_within_region, uint64_t page_size) "Region \"%s\" @0x%"PRIx64", offset_within_region=0x%"PRIx64", qemu_real_host_page_mask=0x%"PRIxPTR " cannot be mapped for DMA"
vfio_listener_region_add_no_dma_map(const char *name, uint64_t iova, uint64_t size, uint64_t page_size) "Region \"%s\" 0x%"PRIx64" size=0x%"PRIx64" is not aligned to 0x%"PRIx64" and cannot be mapped for DMA"
vfio_listener_region_del_skip(uint64_t start, uint64_t end) "SKIPPING region_del 0x%"PRIx64" - 0x%"PRIx64
vfio_listener_region_del(uint64_t start, uint64_t end) "region_del 0x%"PRIx64" - 0x%"PRIx64
--
2.26.3
prev parent reply other threads:[~2022-02-08 15:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-08 13:38 [PATCH v4 0/2] TPM-CRB: Remove spurious error report when used with VFIO Eric Auger
2022-02-08 13:38 ` [PATCH v4 1/2] tpm: CRB: Use ram_device for "tpm-crb-cmd" region Eric Auger
2022-02-08 15:17 ` Peter Maydell
2022-02-08 15:56 ` Eric Auger
2022-02-08 16:01 ` Peter Maydell
2022-02-08 16:36 ` Alex Williamson
2022-02-08 17:14 ` Peter Maydell
2022-02-09 9:54 ` Eric Auger
2022-02-08 16:42 ` Eric Auger
2022-02-08 17:03 ` Dr. David Alan Gilbert
2022-02-09 9:39 ` Eric Auger
2022-02-08 17:16 ` Stefan Berger
2022-02-08 17:58 ` Eric Auger
2022-03-03 14:37 ` Eric Auger
2022-03-03 16:16 ` Marc-André Lureau
2022-03-04 9:32 ` Eric Auger
2022-02-08 13:38 ` Eric Auger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220208133842.112017-3-eric.auger@redhat.com \
--to=eric.auger@redhat.com \
--cc=alex.williamson@redhat.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=dgilbert@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=f4bug@amsat.org \
--cc=imammedo@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanb@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).