[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/17] tcg: make CPUClass.cpu_exec_* optional
From: |
Eduardo Habkost |
Subject: |
[PULL 15/17] tcg: make CPUClass.cpu_exec_* optional |
Date: |
Thu, 17 Dec 2020 13:46:18 -0500 |
This will let us simplify the code that initializes CPU class
methods, when we move cpu_exec_*() to a separate struct.
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>
Message-Id: <20201212155530.23098-11-cfontana@suse.de>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
accel/tcg/cpu-exec.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index 58117f175a..36dde32ff9 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -240,14 +240,18 @@ static void cpu_exec_enter(CPUState *cpu)
{
CPUClass *cc = CPU_GET_CLASS(cpu);
- cc->cpu_exec_enter(cpu);
+ if (cc->cpu_exec_enter) {
+ cc->cpu_exec_enter(cpu);
+ }
}
static void cpu_exec_exit(CPUState *cpu)
{
CPUClass *cc = CPU_GET_CLASS(cpu);
- cc->cpu_exec_exit(cpu);
+ if (cc->cpu_exec_exit) {
+ cc->cpu_exec_exit(cpu);
+ }
}
void cpu_exec_step_atomic(CPUState *cpu)
@@ -619,7 +623,8 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
True when it is, and we should restart on a new TB,
and via longjmp via cpu_loop_exit. */
else {
- if (cc->cpu_exec_interrupt(cpu, interrupt_request)) {
+ if (cc->cpu_exec_interrupt &&
+ cc->cpu_exec_interrupt(cpu, interrupt_request)) {
if (need_replay_interrupt(interrupt_request)) {
replay_interrupt();
}
--
2.28.0
- [PULL 02/17] i386: move whpx accel files into whpx/, (continued)
- [PULL 02/17] i386: move whpx accel files into whpx/, Eduardo Habkost, 2020/12/17
- [PULL 04/17] i386: hvf: remove stale MAINTAINERS entry for old hvf stubs, Eduardo Habkost, 2020/12/17
- [PULL 05/17] i386: move TCG accel files into tcg/, Eduardo Habkost, 2020/12/17
- [PULL 06/17] i386: move cpu dump out of helper.c into cpu-dump.c, Eduardo Habkost, 2020/12/17
- [PULL 07/17] i386: move hyperv_vendor_id initialization to x86_cpu_realizefn(), Eduardo Habkost, 2020/12/17
- [PULL 09/17] i386: move hyperv_version_id initialization to x86_cpu_realizefn(), Eduardo Habkost, 2020/12/17
- [PULL 08/17] i386: move hyperv_interface_id initialization to x86_cpu_realizefn(), Eduardo Habkost, 2020/12/17
- [PULL 13/17] i386: tcg: remove inline from cpu_load_eflags, Eduardo Habkost, 2020/12/17
- [PULL 10/17] i386: move hyperv_limits initialization to x86_cpu_realizefn(), Eduardo Habkost, 2020/12/17
- [PULL 12/17] i386: move TCG cpu class initialization to tcg/, Eduardo Habkost, 2020/12/17
- [PULL 15/17] tcg: make CPUClass.cpu_exec_* optional,
Eduardo Habkost <=
- [PULL 11/17] x86/cpu: Add AVX512_FP16 cpu feature, Eduardo Habkost, 2020/12/17
- [PULL 14/17] tcg: cpu_exec_{enter,exit} helpers, Eduardo Habkost, 2020/12/17
- [PULL 17/17] cpu: Remove unnecessary noop methods, Eduardo Habkost, 2020/12/17
- [PULL 16/17] tcg: Make CPUClass.debug_excp_handler optional, Eduardo Habkost, 2020/12/17
- Re: [PULL 00/17] x86 queue, 2020-12-17, Peter Maydell, 2020/12/17