[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v12 09/23] tcg: cpu_exec_{enter,exit} helpers
From: |
Claudio Fontana |
Subject: |
[PATCH v12 09/23] tcg: cpu_exec_{enter,exit} helpers |
Date: |
Sat, 12 Dec 2020 16:55:16 +0100 |
From: Eduardo Habkost <ehabkost@redhat.com>
Move invocation of CPUClass.cpu_exec_*() to separate helpers,
to make it easier to refactor that code later.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
accel/tcg/cpu-exec.c | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 58aea605d8..8d31145ad2 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -236,9 +236,22 @@ static void cpu_exec_nocache(CPUState *cpu, int max_cycles,
}
#endif
+static void cpu_exec_enter(CPUState *cpu)
+{
+ CPUClass *cc = CPU_GET_CLASS(cpu);
+
+ cc->cpu_exec_enter(cpu);
+}
+
+static void cpu_exec_exit(CPUState *cpu)
+{
+ CPUClass *cc = CPU_GET_CLASS(cpu);
+
+ cc->cpu_exec_exit(cpu);
+}
+
void cpu_exec_step_atomic(CPUState *cpu)
{
- CPUClass *cc = CPU_GET_CLASS(cpu);
TranslationBlock *tb;
target_ulong cs_base, pc;
uint32_t flags;
@@ -257,11 +270,11 @@ void cpu_exec_step_atomic(CPUState *cpu)
/* Since we got here, we know that parallel_cpus must be true. */
parallel_cpus = false;
- cc->cpu_exec_enter(cpu);
+ cpu_exec_enter(cpu);
/* execute the generated code */
trace_exec_tb(tb, pc);
cpu_tb_exec(cpu, tb);
- cc->cpu_exec_exit(cpu);
+ cpu_exec_exit(cpu);
} else {
/*
* The mmap_lock is dropped by tb_gen_code if it runs out of
@@ -713,7 +726,7 @@ int cpu_exec(CPUState *cpu)
rcu_read_lock();
- cc->cpu_exec_enter(cpu);
+ cpu_exec_enter(cpu);
/* Calculate difference between guest clock and host clock.
* This delay includes the delay of the last cycle, so
@@ -775,7 +788,7 @@ int cpu_exec(CPUState *cpu)
}
}
- cc->cpu_exec_exit(cpu);
+ cpu_exec_exit(cpu);
rcu_read_unlock();
return ret;
--
2.26.2
- [PATCH v12 15/23] accel/tcg: split TCG-only code from cpu_exec_realizefn, (continued)
- [PATCH v12 15/23] accel/tcg: split TCG-only code from cpu_exec_realizefn, Claudio Fontana, 2020/12/12
- [PATCH v12 14/23] target/riscv: remove CONFIG_TCG, as it is always TCG, Claudio Fontana, 2020/12/12
- [PATCH v12 11/23] tcg: Make CPUClass.debug_excp_handler optional, Claudio Fontana, 2020/12/12
- [PATCH v12 01/23] i386: move kvm accel files into kvm/, Claudio Fontana, 2020/12/12
- [PATCH v12 16/23] cpu: Move synchronize_from_tb() to tcg_ops, Claudio Fontana, 2020/12/12
- [PATCH v12 20/23] target/arm: do not use cc->do_interrupt for KVM directly, Claudio Fontana, 2020/12/12
- [PATCH v12 19/23] cpu: Move debug_excp_handler to tcg_ops, Claudio Fontana, 2020/12/12
- [PATCH v12 09/23] tcg: cpu_exec_{enter,exit} helpers,
Claudio Fontana <=
- [PATCH v12 10/23] tcg: make CPUClass.cpu_exec_* optional, Claudio Fontana, 2020/12/12
- [PATCH v12 08/23] i386: tcg: remove inline from cpu_load_eflags, Claudio Fontana, 2020/12/12
- [PATCH v12 03/23] i386: move hax accel files into hax/, Claudio Fontana, 2020/12/12
- [PATCH v12 22/23] cpu: move cc->transaction_failed to tcg_ops, Claudio Fontana, 2020/12/12
- [PATCH v12 18/23] cpu: Move tlb_fill to tcg_ops, Claudio Fontana, 2020/12/12
- [PATCH v12 23/23] cpu: move do_unaligned_access to tcg_ops, Claudio Fontana, 2020/12/12
- [PATCH v12 13/23] cpu: Introduce TCGCpuOperations struct, Claudio Fontana, 2020/12/12
- [PATCH v12 12/23] cpu: Remove unnecessary noop methods, Claudio Fontana, 2020/12/12
- [PATCH v12 02/23] i386: move whpx accel files into whpx/, Claudio Fontana, 2020/12/12