Register the new AccelOpsClass::cpu_instance_init hook.
ACCEL_CPU_NAME("nvmm") TypeInfo is now empty, remove it.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
target/i386/nvmm/nvmm-accel-ops.h | 2 ++
target/i386/nvmm/nvmm-accel-ops.c | 2 ++
target/i386/nvmm/nvmm-all.c | 19 +------------------
3 files changed, 5 insertions(+), 18 deletions(-)
diff --git a/target/i386/nvmm/nvmm-accel-ops.h
b/target/i386/nvmm/nvmm-accel-ops.h
index 931bb5ca243..f2a78c12110 100644
--- a/target/i386/nvmm/nvmm-accel-ops.h
+++ b/target/i386/nvmm/nvmm-accel-ops.h
@@ -16,6 +16,8 @@ int nvmm_init_vcpu(CPUState *cpu);
int nvmm_vcpu_exec(CPUState *cpu);
void nvmm_destroy_vcpu(CPUState *cpu);
+void nvmm_arch_cpu_instance_init(CPUState *cpu);
+
void nvmm_cpu_synchronize_state(CPUState *cpu);
void nvmm_cpu_synchronize_post_reset(CPUState *cpu);
void nvmm_cpu_synchronize_post_init(CPUState *cpu);
diff --git a/target/i386/nvmm/nvmm-accel-ops.c
b/target/i386/nvmm/nvmm-accel-ops.c
index dd5d5428b1c..60044b83527 100644
--- a/target/i386/nvmm/nvmm-accel-ops.c
+++ b/target/i386/nvmm/nvmm-accel-ops.c
@@ -87,6 +87,8 @@ static void nvmm_accel_ops_class_init(ObjectClass *oc, const
void *data)
ops->kick_vcpu_thread = nvmm_kick_vcpu_thread;
ops->handle_interrupt = generic_handle_interrupt;
+ ops->cpu_instance_init = nvmm_arch_cpu_instance_init;
+
ops->synchronize_post_reset = nvmm_cpu_synchronize_post_reset;
ops->synchronize_post_init = nvmm_cpu_synchronize_post_init;
ops->synchronize_state = nvmm_cpu_synchronize_state;
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index 8a1af35ed32..10ab7b2a4dc 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -22,7 +22,6 @@
#include "qemu/error-report.h"
#include "qapi/error.h"
#include "qemu/queue.h"
-#include "accel/accel-cpu-target.h"
#include "host-cpu.h"
#include "migration/blocker.h"
#include "strings.h"
@@ -1212,33 +1211,17 @@ static const TypeInfo nvmm_accel_type = {
.class_init = nvmm_accel_class_init,
};
-static void nvmm_cpu_instance_init(CPUState *cs)
+void nvmm_arch_cpu_instance_init(CPUState *cpu)
{
X86CPU *cpu = X86_CPU(cs);
host_cpu_instance_init(cpu);
}
-static void nvmm_cpu_accel_class_init(ObjectClass *oc, const void *data)
-{
- AccelCPUClass *acc = ACCEL_CPU_CLASS(oc);
-
- acc->cpu_instance_init = nvmm_cpu_instance_init;
-}
-
-static const TypeInfo nvmm_cpu_accel_type = {
- .name = ACCEL_CPU_NAME("nvmm"),
-
- .parent = TYPE_ACCEL_CPU,
- .class_init = nvmm_cpu_accel_class_init,
- .abstract = true,
-};
-
static void
nvmm_type_init(void)
{
type_register_static(&nvmm_accel_type);
- type_register_static(&nvmm_cpu_accel_type);
}
type_init(nvmm_type_init);
--
2.53.0