diff options
author | Philippe Mathieu-Daudé <f4bug@amsat.org> | 2022-03-23 18:17:44 +0100 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2022-06-20 13:11:36 -0700 |
commit | 18b8c47f8e66c1c45a0fb59cfd6ed4dfeb25c6f6 (patch) | |
tree | 458ba3b4793f02810971d8a14bcb0fde2a516edc /accel/tcg | |
parent | a82fd5a4ec24d923ff1e6da128c0fd4a74079d99 (diff) | |
download | qemu-18b8c47f8e66c1c45a0fb59cfd6ed4dfeb25c6f6.zip qemu-18b8c47f8e66c1c45a0fb59cfd6ed4dfeb25c6f6.tar.gz qemu-18b8c47f8e66c1c45a0fb59cfd6ed4dfeb25c6f6.tar.bz2 |
accel/tcg: Reorganize tcg_accel_ops_init()
Reorg TCG AccelOpsClass initialization to emphasis icount
mode share more code with single-threaded TCG.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220323171751.78612-7-philippe.mathieu.daude@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'accel/tcg')
-rw-r--r-- | accel/tcg/tcg-accel-ops.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c index 684dc5a..786d90c 100644 --- a/accel/tcg/tcg-accel-ops.c +++ b/accel/tcg/tcg-accel-ops.c @@ -97,16 +97,17 @@ static void tcg_accel_ops_init(AccelOpsClass *ops) ops->create_vcpu_thread = mttcg_start_vcpu_thread; ops->kick_vcpu_thread = mttcg_kick_vcpu_thread; ops->handle_interrupt = tcg_handle_interrupt; - } else if (icount_enabled()) { - ops->create_vcpu_thread = rr_start_vcpu_thread; - ops->kick_vcpu_thread = rr_kick_vcpu_thread; - ops->handle_interrupt = icount_handle_interrupt; - ops->get_virtual_clock = icount_get; - ops->get_elapsed_ticks = icount_get; } else { ops->create_vcpu_thread = rr_start_vcpu_thread; ops->kick_vcpu_thread = rr_kick_vcpu_thread; - ops->handle_interrupt = tcg_handle_interrupt; + + if (icount_enabled()) { + ops->handle_interrupt = icount_handle_interrupt; + ops->get_virtual_clock = icount_get; + ops->get_elapsed_ticks = icount_get; + } else { + ops->handle_interrupt = tcg_handle_interrupt; + } } } |