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