mirror of https://github.com/xemu-project/xemu.git
hw: misc: edu: use qemu_log_mask instead of hw_error
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>
This commit is contained in:
parent
3e64d7d7b8
commit
7b608e5d6c
|
@ -23,6 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/log.h"
|
||||||
#include "qemu/units.h"
|
#include "qemu/units.h"
|
||||||
#include "hw/pci/pci.h"
|
#include "hw/pci/pci.h"
|
||||||
#include "hw/hw.h"
|
#include "hw/hw.h"
|
||||||
|
@ -118,7 +119,8 @@ static void edu_check_range(uint64_t xfer_start, uint64_t xfer_size,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
hw_error("EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
|
qemu_log_mask(LOG_GUEST_ERROR,
|
||||||
|
"EDU: DMA range 0x%016"PRIx64"-0x%016"PRIx64
|
||||||
" out of bounds (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);
|
xfer_start, xfer_end - 1, dma_start, dma_end - 1);
|
||||||
}
|
}
|
||||||
|
@ -128,7 +130,9 @@ static dma_addr_t edu_clamp_addr(const EduState *edu, dma_addr_t addr)
|
||||||
dma_addr_t res = addr & edu->dma_mask;
|
dma_addr_t res = addr & edu->dma_mask;
|
||||||
|
|
||||||
if (addr != res) {
|
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;
|
return res;
|
||||||
|
|
Loading…
Reference in New Issue