[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v5 53/69] accel/dummy: Convert to AccelOpsClass::cpu_thread_routine
By converting to AccelOpsClass::cpu_thread_routine we can let the common accel_create_vcpu_thread() create the thread. Signed-off-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx> Reviewed-by: Richard Henderson <richard.henderson@xxxxxxxxxx> Acked-by: Fabiano Rosas <farosas@xxxxxxx> --- accel/dummy-cpus.h | 2 +- accel/dummy-cpus.c | 14 +------------- accel/qtest/qtest.c | 3 ++- accel/xen/xen-all.c | 3 ++- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/accel/dummy-cpus.h b/accel/dummy-cpus.h index c3af710ee8c..c2f9fee164c 100644 --- a/accel/dummy-cpus.h +++ b/accel/dummy-cpus.h @@ -10,6 +10,6 @@ #define ACCEL_DUMMY_CPUS_H void dummy_thread_precreate(CPUState *cpu); -void dummy_start_vcpu_thread(CPUState *cpu); +void *dummy_cpu_thread_routine(void *arg); #endif diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c index 2cbc3fecc93..f637ab05e32 100644 --- a/accel/dummy-cpus.c +++ b/accel/dummy-cpus.c @@ -19,7 +19,7 @@ #include "hw/core/cpu.h" #include "accel/dummy-cpus.h" -static void *dummy_cpu_thread_fn(void *arg) +void *dummy_cpu_thread_routine(void *arg) { CPUState *cpu = arg; @@ -71,15 +71,3 @@ void dummy_thread_precreate(CPUState *cpu) qemu_sem_init(&cpu->sem, 0); #endif } - -void dummy_start_vcpu_thread(CPUState *cpu) -{ - char thread_name[VCPU_THREAD_NAME_SIZE]; - - dummy_thread_precreate(cpu); - - snprintf(thread_name, VCPU_THREAD_NAME_SIZE, "CPU %d/DUMMY", - cpu->cpu_index); - qemu_thread_create(cpu->thread, thread_name, dummy_cpu_thread_fn, cpu, - QEMU_THREAD_JOINABLE); -} diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c index 2606fe97b49..9f30098d133 100644 --- a/accel/qtest/qtest.c +++ b/accel/qtest/qtest.c @@ -64,7 +64,8 @@ static void qtest_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = dummy_start_vcpu_thread; + ops->thread_precreate = dummy_thread_precreate; + ops->cpu_thread_routine = dummy_cpu_thread_routine; ops->get_virtual_clock = qtest_get_virtual_clock; ops->set_virtual_clock = qtest_set_virtual_clock; }; diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c index f412ea346bb..e2ad42c0d18 100644 --- a/accel/xen/xen-all.c +++ b/accel/xen/xen-all.c @@ -152,7 +152,8 @@ static void xen_accel_ops_class_init(ObjectClass *oc, const void *data) { AccelOpsClass *ops = ACCEL_OPS_CLASS(oc); - ops->create_vcpu_thread = dummy_start_vcpu_thread; + ops->thread_precreate = dummy_thread_precreate; + ops->cpu_thread_routine = dummy_cpu_thread_routine; } static const TypeInfo xen_accel_ops_type = { -- 2.49.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |