Log a guest error instead of a hardware error when
the guest tries to DMA to / from an invalid address.

Signed-off-by: Chris Friedt <cfri...@meta.com>
---
 hw/misc/edu.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index 52afbd792a..a18f803815 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -118,9 +118,10 @@ static void edu_check_range(uint64_t xfer_start, uint64_t 
xfer_size,
         return;
     }
 
-    hw_error("EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
-             " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!",
-            xfer_start, xfer_end - 1, dma_start, dma_end - 1);
+    qemu_log_mask(LOG_GUEST_ERROR,
+                  "EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
+                  " out of bounds (0x%016"PRIx64"-0x%016"PRIx64")!",
+                  xfer_start, xfer_end - 1, dma_start, dma_end - 1);
 }
 
 static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr)
@@ -128,7 +129,9 @@ static dma_addr_t edu_clamp_addr(const EduState *edu, 
dma_addr_t addr)
     dma_addr_t res = addr & edu->dma_mask;
 
     if (addr != res) {
-        printf("EDU: clamping DMA %#.16"PRIx64" to %#.16"PRIx64"!\n", addr, 
res);
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "EDU: clamping DMA %#.16"PRIx64" to %#.16"PRIx64"!",
+                      addr, res);
     }
 
     return res;
-- 
2.36.1


Reply via email to