Am Tue, 26 May 2020 11:40:52 +0200 schrieb Philippe Mathieu-Daudé <f4...@amsat.org>:
> hw_error() calls exit(). This a bit overkill when we can log > the accesses as unimplemented or guest error. > > When fuzzing the devices, we don't want the whole process to > exit. Replace some hw_error() calls by qemu_log_mask(). > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> [...] > diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c > index b84c152ce3..108623b4ad 100644 > --- a/hw/m68k/mcf5208.c > +++ b/hw/m68k/mcf5208.c > @@ -9,10 +9,10 @@ > #include "qemu/osdep.h" > #include "qemu/units.h" > #include "qemu/error-report.h" > +#include "qemu/log.h" > #include "qapi/error.h" > #include "qemu-common.h" > #include "cpu.h" > -#include "hw/hw.h" > #include "hw/irq.h" > #include "hw/m68k/mcf.h" > #include "hw/m68k/mcf_fec.h" > @@ -111,8 +111,9 @@ static void m5208_timer_write(void *opaque, > hwaddr offset, case 4: > break; > default: > - hw_error("m5208_timer_write: Bad offset 0x%x\n", > (int)offset); > - break; > + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" PRIx64 > "\n", That likely should be HWADDR_PRIX, too? ... could be fixed up while applying the patch. With that: Reviewed-by: Thomas Huth <h...@tuxfamily.org> > + __func__, offset); > + return; > } > m5208_timer_update(s); > } > @@ -136,7 +137,8 @@ static uint64_t m5208_timer_read(void *opaque, > hwaddr addr, case 4: > return ptimer_get_count(s->timer); > default: > - hw_error("m5208_timer_read: Bad offset 0x%x\n", (int)addr); > + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" > HWADDR_PRIX "\n", > + __func__, addr); > return 0; > } > } > @@ -164,7 +166,8 @@ static uint64_t m5208_sys_read(void *opaque, > hwaddr addr, return 0; > > default: > - hw_error("m5208_sys_read: Bad offset 0x%x\n", (int)addr); > + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" > HWADDR_PRIX "\n", > + __func__, addr); > return 0; > } > } > @@ -172,7 +175,8 @@ static uint64_t m5208_sys_read(void *opaque, > hwaddr addr, static void m5208_sys_write(void *opaque, hwaddr addr, > uint64_t value, unsigned size) > { > - hw_error("m5208_sys_write: Bad offset 0x%x\n", (int)addr); > + qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX > "\n", > + __func__, addr); > }