summaryrefslogtreecommitdiffstats
path: root/include/hw/core
diff options
context:
space:
mode:
authorClaudio Fontana2021-03-22 14:27:59 +0100
committerPaolo Bonzini2021-05-10 21:41:52 +0200
commitcc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4 (patch)
tree6cf56508069f7c9d63b6e6e45740b4ec29b572cb /include/hw/core
parentaccel: move call to accel_init_interfaces (diff)
downloadqemu-cc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4.tar.gz
qemu-cc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4.tar.xz
qemu-cc3f2be6b7ca1bb1e5d78aa355c5bdeea25c91c4.zip
accel: add init_accel_cpu for adapting accel behavior to CPU type
while on x86 all CPU classes can use the same set of TCGCPUOps, on ARM the right accel behavior depends on the type of the CPU. So we need a way to specialize the accel behavior according to the CPU. Therefore, add a second initialization, after the accel_cpu->cpu_class_init, that allows to do this. Signed-off-by: Claudio Fontana <cfontana@suse.de> Cc: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210322132800.7470-24-cfontana@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/hw/core')
-rw-r--r--include/hw/core/cpu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index c68bc3ba8a..d45f78290e 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -192,6 +192,12 @@ struct CPUClass {
/* when TCG is not available, this pointer is NULL */
struct TCGCPUOps *tcg_ops;
+
+ /*
+ * if not NULL, this is called in order for the CPUClass to initialize
+ * class data that depends on the accelerator, see accel/accel-common.c.
+ */
+ void (*init_accel_cpu)(struct AccelCPUClass *accel_cpu, CPUClass *cc);
};
/*