Skip to content

Commit

Permalink
hw: misc: edu: use qemu_log_mask instead of hw_error
Browse files Browse the repository at this point in the history
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 <cfriedt@meta.com>
Message-ID: <20221018122551.94567-3-cfriedt@meta.com>
[thuth: Add missing #include statement, fix error reported by checkpatch.pl]
Signed-off-by: Thomas Huth <thuth@redhat.com>
  • Loading branch information
cfriedt authored and huth committed Apr 30, 2024
1 parent 3e64d7d commit 7b608e5
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions hw/misc/edu.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
*/

#include "qemu/osdep.h"
#include "qemu/log.h"
#include "qemu/units.h"
#include "hw/pci/pci.h"
#include "hw/hw.h"
Expand Down Expand Up @@ -118,17 +119,20 @@ 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)
{
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 0x%016"PRIx64" to 0x%016"PRIx64"!",
addr, res);
}

return res;
Expand Down

0 comments on commit 7b608e5

Please sign in to comment.