On 5/26/20 6:04 PM, Thomas Huth wrote: > 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.
Oops yes. Thanks a lot! > > 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); >> } >