hw/timer/exynos4210_mct: Replace hw_error() by qemu_log_mask()

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().

Per the datasheet "Exynos 4412 RISC Microprocessor Rev 1.00"
Chapter 25 "Multi Core Timer (MCT)" figure 1 and table 4,
the default value on the APB bus is 0.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20200518140309.5220-5-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2020-05-18 16:03:09 +02:00 committed by Peter Maydell
parent 492edf3e30
commit a50fe66846
1 changed files with 5 additions and 7 deletions

View File

@ -54,7 +54,6 @@
#include "qemu/osdep.h" #include "qemu/osdep.h"
#include "qemu/log.h" #include "qemu/log.h"
#include "hw/hw.h"
#include "hw/sysbus.h" #include "hw/sysbus.h"
#include "migration/vmstate.h" #include "migration/vmstate.h"
#include "qemu/timer.h" #include "qemu/timer.h"
@ -62,7 +61,6 @@
#include "hw/ptimer.h" #include "hw/ptimer.h"
#include "hw/arm/exynos4210.h" #include "hw/arm/exynos4210.h"
#include "hw/hw.h"
#include "hw/irq.h" #include "hw/irq.h"
//#define DEBUG_MCT //#define DEBUG_MCT
@ -1062,7 +1060,7 @@ static uint64_t exynos4210_mct_read(void *opaque, hwaddr offset,
int index; int index;
int shift; int shift;
uint64_t count; uint64_t count;
uint32_t value; uint32_t value = 0;
int lt_i; int lt_i;
switch (offset) { switch (offset) {
@ -1158,8 +1156,8 @@ static uint64_t exynos4210_mct_read(void *opaque, hwaddr offset,
break; break;
default: default:
hw_error("exynos4210.mct: bad read offset " qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n",
TARGET_FMT_plx "\n", offset); __func__, offset);
break; break;
} }
return value; return value;
@ -1484,8 +1482,8 @@ static void exynos4210_mct_write(void *opaque, hwaddr offset,
break; break;
default: default:
hw_error("exynos4210.mct: bad write offset " qemu_log_mask(LOG_GUEST_ERROR, "%s: Bad offset 0x%" HWADDR_PRIX "\n",
TARGET_FMT_plx "\n", offset); __func__, offset);
break; break;
} }
} }