On 22/6/25 04:14, Richard Henderson wrote:
> On 6/20/25 10:13, Philippe Mathieu-Daudé wrote:
>> Factor accel_cpu_realize() out of accel_cpu_common_realize()
>> for re-use.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> accel/accel-internal.h | 2 ++
>> accel/accel-common.c | 15 ++++++++++++---
>> 2 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/accel/accel-internal.h b/accel/accel-internal.h
>> index d3a4422cbf7..b541377c349 100644
>> --- a/accel/accel-internal.h
>> +++ b/accel/accel-internal.h
>> @@ -14,4 +14,6 @@
>> void accel_init_ops_interfaces(AccelClass *ac);
>> +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp);
>> +
>> #endif /* ACCEL_SYSTEM_H */
>> diff --git a/accel/accel-common.c b/accel/accel-common.c
>> index 24038acf4aa..0f2aa783ab2 100644
>> --- a/accel/accel-common.c
>> +++ b/accel/accel-common.c
>> @@ -122,10 +122,14 @@ void accel_create_vcpu_thread(AccelState *accel,
>> CPUState *cpu)
>> }
>> }
>> -bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
>> +bool accel_cpu_realize(AccelState *accel, CPUState *cpu, Error **errp)
>> {
>> - AccelState *accel = current_accel();
>> - AccelClass *acc = ACCEL_GET_CLASS(accel);
>> + AccelClass *acc;
>> +
>> + if (!accel) {
>> + accel = current_accel();
>> + }
>> + acc = ACCEL_GET_CLASS(accel);
>> /* target specific realization */
>> if (cpu->cc->accel_cpu
>> @@ -147,6 +151,11 @@ bool accel_cpu_common_realize(CPUState *cpu,
>> Error **errp)
>> return true;
>> }
>> +bool accel_cpu_common_realize(CPUState *cpu, Error **errp)
>> +{
>> + return accel_cpu_realize(NULL, cpu, errp);
>
> Why pass null here, and why check for it in the new function?
Indeed ;)