On 21.06.2018 20:02, Philippe Mathieu-Daudé wrote: > hw_error() finally calls abort(), but there is no need to abort here.
Additionally, hw_error() is also only meant for CPU errors (since it dumps the CPU state). We should really rename that function to "cpu_hw_error" one day to avoid that people use it in the wrong spots... > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > --- > hw/net/stellaris_enet.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/hw/net/stellaris_enet.c b/hw/net/stellaris_enet.c > index 04bd10ada3..188adcbd15 100644 > --- a/hw/net/stellaris_enet.c > +++ b/hw/net/stellaris_enet.c > @@ -9,6 +9,7 @@ > #include "qemu/osdep.h" > #include "hw/sysbus.h" > #include "net/net.h" > +#include "qemu/log.h" > #include <zlib.h> > > //#define DEBUG_STELLARIS_ENET 1 > @@ -343,7 +344,9 @@ static uint64_t stellaris_enet_read(void *opaque, hwaddr > offset, > case 0x3c: /* Undocuented: Timestamp? */ > return 0; > default: > - hw_error("stellaris_enet_read: Bad offset %x\n", (int)offset); > + qemu_log_mask(LOG_GUEST_ERROR, > + "stellaris_enet_rd%d: 0x%" HWADDR_PRIx "\n", > + size, offset); > return 0; > } > } > @@ -442,7 +445,9 @@ static void stellaris_enet_write(void *opaque, hwaddr > offset, > /* Ignored. */ > break; > default: > - hw_error("stellaris_enet_write: Bad offset %x\n", (int)offset); > + qemu_log_mask(LOG_GUEST_ERROR, > + "stellaris_enet_wr%d: 0x%" HWADDR_PRIx " = 0x%lx\n", > + size, offset, value); > } > } Could you please keep the "bad offset" or a similar error message, so that the user knows that there is really something wrong here? Thomas
