[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH-for-6.1 v2 4/6] target/mips/cp0_timer: Add ns_substract_to_co
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH-for-6.1 v2 4/6] target/mips/cp0_timer: Add ns_substract_to_count() helper |
Date: |
Fri, 9 Apr 2021 11:36:21 +0200 |
Factor ns_substract_to_count() out to simplify a bit.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/mips/cp0_timer.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/target/mips/cp0_timer.c b/target/mips/cp0_timer.c
index 73355b44b15..85f2f85838d 100644
--- a/target/mips/cp0_timer.c
+++ b/target/mips/cp0_timer.c
@@ -32,6 +32,12 @@ static uint32_t ns_to_count(CPUMIPSState *env, uint64_t ns)
return ns / env->cp0_count_ns;
}
+static uint32_t ns_substract_to_count(CPUMIPSState *env,
+ uint32_t count, uint64_t ns)
+{
+ return count - ns_to_count(env, ns);
+}
+
/* MIPS R4K timer */
static void cpu_mips_timer_update(CPUMIPSState *env)
{
@@ -39,7 +45,7 @@ static void cpu_mips_timer_update(CPUMIPSState *env)
uint32_t wait;
now_ns = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
- wait = env->CP0_Compare - env->CP0_Count - ns_to_count(env, now_ns);
+ wait = ns_substract_to_count(env, env->CP0_Compare - env->CP0_Count,
now_ns);
next_ns = now_ns + (uint64_t)wait * env->cp0_count_ns;
timer_mod(env->timer, next_ns);
}
@@ -83,8 +89,8 @@ void cpu_mips_store_count(CPUMIPSState *env, uint32_t count)
env->CP0_Count = count;
} else {
/* Store new count register */
- env->CP0_Count = count - ns_to_count(env,
-
qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL));
+ env->CP0_Count = ns_substract_to_count(env, count,
+
qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL));
/* Update timer timer */
cpu_mips_timer_update(env);
}
--
2.26.3
- [RFC PATCH-for-6.1 v2 0/6] target/mips/cp0_timer: Use new clock_ns_to_ticks(), Philippe Mathieu-Daudé, 2021/04/09
- [RFC PATCH-for-6.1 v2 1/6] target/mips/cpu: Use clock_has_source() instead of clock_get(), Philippe Mathieu-Daudé, 2021/04/09
- [RFC PATCH-for-6.1 v2 3/6] target/mips/cp0_timer: Add ns_to_count() helper, Philippe Mathieu-Daudé, 2021/04/09
- [RFC PATCH-for-6.1 v2 2/6] target/mips/cpu: Update CP0 clock when CPU clock is propagated, Philippe Mathieu-Daudé, 2021/04/09
- [RFC PATCH-for-6.1 v2 4/6] target/mips/cp0_timer: Add ns_substract_to_count() helper,
Philippe Mathieu-Daudé <=
- [RFC PATCH-for-6.1 v2 5/6] target/mips/cp0_timer: Use new clock_ns_to_ticks(), Philippe Mathieu-Daudé, 2021/04/09
- [RFC PATCH-for-6.1 v2 6/6] hw/mips/loongson3_virt: Raise CPU clock to 2 GHz, Philippe Mathieu-Daudé, 2021/04/09