From: Peter Maydell Date: Tue, 15 Dec 2020 15:09:27 +0000 (+0000) Subject: target/mips: Don't use clock_get_ns() in clock period calculation X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0ac1fb256742f665449c3dd02dd0ed7a5112cea1;p=qemu.git target/mips: Don't use clock_get_ns() in clock period calculation Currently the MIPS code uses the old clock_get_ns() API to calculate a time length in nanoseconds: cpu->cp0_count_rate * clock_get_ns(MIPS_CPU(cpu)->clock) This relies on the clock having a period which is an exact number of nanoseconds. Switch to the new clock_ticks_to_ns() function, which does the multiplication internally at a higher precision. Signed-off-by: Peter Maydell Tested-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Luc Michel Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20201215150929.30311-3-peter.maydell@linaro.org> Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/target/mips/cpu.c b/target/mips/cpu.c index b2cd69ff7f..2283214c87 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -380,8 +380,8 @@ static void mips_cp0_period_set(MIPSCPU *cpu) { CPUMIPSState *env = &cpu->env; - env->cp0_count_ns = cpu->cp0_count_rate - * clock_get_ns(MIPS_CPU(cpu)->clock); + env->cp0_count_ns = clock_ticks_to_ns(MIPS_CPU(cpu)->clock, + cpu->cp0_count_rate); assert(env->cp0_count_ns); }