Message ID | 20250620171342.92678-41-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | accel: Preparatory cleanups for split-accel | expand |
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? r~ > +} > + > void accel_cpu_common_unrealize(CPUState *cpu) > { > AccelState *accel = current_accel();
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); +} + void accel_cpu_common_unrealize(CPUState *cpu) { AccelState *accel = current_accel();
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(-)