summaryrefslogtreecommitdiffstats
path: root/target/mips
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé2020-10-12 11:58:04 +0200
committerPhilippe Mathieu-Daudé2020-10-17 13:59:40 +0200
commit8a6359f937632d4b47bfaf0640c5acbf73736521 (patch)
tree584694b6294e8bf04c1c6112e0badfd9422d4048 /target/mips
parenthw/mips/cps: Do not allow use without input clock (diff)
downloadqemu-8a6359f937632d4b47bfaf0640c5acbf73736521.tar.gz
qemu-8a6359f937632d4b47bfaf0640c5acbf73736521.tar.xz
qemu-8a6359f937632d4b47bfaf0640c5acbf73736521.zip
target/mips/cpu: Display warning when CPU is used without input clock
All our QOM users provides an input clock. In order to avoid avoid future machines added without clock, display a warning. User-mode emulation use the CP0 timer with the RDHWR instruction (see commit cdfcad788394) so keep using the fixed 200 MHz clock without diplaying any warning. Only display it in system-mode emulation. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20201012095804.3335117-22-f4bug@amsat.org>
Diffstat (limited to 'target/mips')
-rw-r--r--target/mips/cpu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 33a9ed5c24..76d50b00b4 100644
--- a/target/mips/cpu.c
+++ b/target/mips/cpu.c
@@ -19,12 +19,14 @@
*/
#include "qemu/osdep.h"
+#include "qemu/cutils.h"
#include "qapi/error.h"
#include "cpu.h"
#include "internal.h"
#include "kvm_mips.h"
#include "qemu/module.h"
#include "sysemu/kvm.h"
+#include "sysemu/qtest.h"
#include "exec/exec-all.h"
#include "hw/qdev-properties.h"
#include "hw/qdev-clock.h"
@@ -158,6 +160,14 @@ static void mips_cpu_realizefn(DeviceState *dev, Error **errp)
Error *local_err = NULL;
if (!clock_get(cpu->clock)) {
+#ifndef CONFIG_USER_ONLY
+ if (!qtest_enabled()) {
+ g_autofree char *cpu_freq_str = freq_to_str(CPU_FREQ_HZ_DEFAULT);
+
+ warn_report("CPU input clock is not connected to any output clock, "
+ "using default frequency of %s.", cpu_freq_str);
+ }
+#endif
/* Initialize the frequency in case the clock remains unconnected. */
clock_set_hz(cpu->clock, CPU_FREQ_HZ_DEFAULT);
}