Introduce a helper routine defining one CPU device node to fix this
warning :
../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a previous local [-Wshadow=compatible-local]
812 | CPUState *cs = rev[i];
| ^~
../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
786 | CPUState *cs;
| ^~
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index de3c616b4637..d89f0fd496b6 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
pcc->lrg_decr_bits)));
}
+static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr, CPUState *cs,
+ int cpus_offset)
+{
+ PowerPCCPU *cpu = POWERPC_CPU(cs);
+ int index = spapr_get_vcpu_id(cpu);
+ DeviceClass *dc = DEVICE_GET_CLASS(cs);
+ g_autofree char *nodename = NULL;
+ int offset;
+
+ if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
+ return;
+ }
+
+ nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
+ offset = fdt_add_subnode(fdt, cpus_offset, nodename);
+ _FDT(offset);
+ spapr_dt_cpu(cs, fdt, offset, spapr);
+}
+
+
static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
{
CPUState **rev;
@@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
}
for (i = n_cpus - 1; i >= 0; i--) {
- CPUState *cs = rev[i];
- PowerPCCPU *cpu = POWERPC_CPU(cs);
- int index = spapr_get_vcpu_id(cpu);
- DeviceClass *dc = DEVICE_GET_CLASS(cs);
- g_autofree char *nodename = NULL;
- int offset;
-
- if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
- continue;
- }
-
- nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
- offset = fdt_add_subnode(fdt, cpus_offset, nodename);
- _FDT(offset);
- spapr_dt_cpu(cs, fdt, offset, spapr);
+ spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
}
g_free(rev);
--
2.41.0
On 9/18/23 20:28, Cédric Le Goater wrote:
> Introduce a helper routine defining one CPU device node to fix this
> warning :
>
> ../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
> ../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a previous local [-Wshadow=compatible-local]
> 812 | CPUState *cs = rev[i];
> | ^~
> ../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
> 786 | CPUState *cs;
> | ^~
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
> 1 file changed, 21 insertions(+), 15 deletions(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index de3c616b4637..d89f0fd496b6 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
> pcc->lrg_decr_bits)));
> }
>
> +static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr, CPUState *cs,
> + int cpus_offset)
> +{
> + PowerPCCPU *cpu = POWERPC_CPU(cs);
> + int index = spapr_get_vcpu_id(cpu);
> + DeviceClass *dc = DEVICE_GET_CLASS(cs);
> + g_autofree char *nodename = NULL;
> + int offset;
> +
> + if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> + return;
> + }
> +
> + nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> + offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> + _FDT(offset);
> + spapr_dt_cpu(cs, fdt, offset, spapr);
> +}
> +
> +
> static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
> {
> CPUState **rev;
> @@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
> }
>
> for (i = n_cpus - 1; i >= 0; i--) {
> - CPUState *cs = rev[i];
> - PowerPCCPU *cpu = POWERPC_CPU(cs);
> - int index = spapr_get_vcpu_id(cpu);
> - DeviceClass *dc = DEVICE_GET_CLASS(cs);
> - g_autofree char *nodename = NULL;
> - int offset;
> -
> - if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> - continue;
> - }
> -
> - nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> - offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> - _FDT(offset);
> - spapr_dt_cpu(cs, fdt, offset, spapr);
> + spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
Do we want to replace the call to spapr_dt_cpu in
spapr_core_dt_populate() with the _one_ as well?
Not sure about the implication of additional instructions there.
Also, could this code insider wrapper become part of spapr_dt_cpu() itself?
If can't, do we want a better renaming of wrapper here?
Otherwise,
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> }
>
> g_free(rev);
On 9/19/23 09:28, Harsh Prateek Bora wrote:
>
>
> On 9/18/23 20:28, Cédric Le Goater wrote:
>> Introduce a helper routine defining one CPU device node to fix this
>> warning :
>>
>> ../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
>> ../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a previous local [-Wshadow=compatible-local]
>> 812 | CPUState *cs = rev[i];
>> | ^~
>> ../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
>> 786 | CPUState *cs;
>> | ^~
>>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
>> 1 file changed, 21 insertions(+), 15 deletions(-)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index de3c616b4637..d89f0fd496b6 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
>> pcc->lrg_decr_bits)));
>> }
>> +static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr, CPUState *cs,
>> + int cpus_offset)
>> +{
>> + PowerPCCPU *cpu = POWERPC_CPU(cs);
>> + int index = spapr_get_vcpu_id(cpu);
>> + DeviceClass *dc = DEVICE_GET_CLASS(cs);
>> + g_autofree char *nodename = NULL;
>> + int offset;
>> +
>> + if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
>> + return;
>> + }
>> +
>> + nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
>> + offset = fdt_add_subnode(fdt, cpus_offset, nodename);
>> + _FDT(offset);
>> + spapr_dt_cpu(cs, fdt, offset, spapr);
>> +}
>> +
>> +
>> static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
>> {
>> CPUState **rev;
>> @@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
>> }
>> for (i = n_cpus - 1; i >= 0; i--) {
>> - CPUState *cs = rev[i];
>> - PowerPCCPU *cpu = POWERPC_CPU(cs);
>> - int index = spapr_get_vcpu_id(cpu);
>> - DeviceClass *dc = DEVICE_GET_CLASS(cs);
>> - g_autofree char *nodename = NULL;
>> - int offset;
>> -
>> - if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
>> - continue;
>> - }
>> -
>> - nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
>> - offset = fdt_add_subnode(fdt, cpus_offset, nodename);
>> - _FDT(offset);
>> - spapr_dt_cpu(cs, fdt, offset, spapr);
>> + spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
>
> Do we want to replace the call to spapr_dt_cpu in
> spapr_core_dt_populate() with the _one_ as well?
> Not sure about the implication of additional instructions there.
yeah may be we could rework spapr_dt_one_cpu() and spapr_core_dt_populate()
in a single routine. They are similar. It can come later.
> Also, could this code insider wrapper become part of spapr_dt_cpu() itself?
> If can't, do we want a better renaming of wrapper here?
I am open to proposal :)
Thanks
C.
>
> Otherwise,
> Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>
>> }
>> g_free(rev);
On Tue, 19 Sept, 2023, 4:37 pm Cédric Le Goater, <clg@kaod.org> wrote:
> On 9/19/23 09:28, Harsh Prateek Bora wrote:
> >
> >
> > On 9/18/23 20:28, Cédric Le Goater wrote:
> >> Introduce a helper routine defining one CPU device node to fix this
> >> warning :
> >>
> >> ../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
> >> ../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a
> previous local [-Wshadow=compatible-local]
> >> 812 | CPUState *cs = rev[i];
> >> | ^~
> >> ../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
> >> 786 | CPUState *cs;
> >> | ^~
> >>
> >> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> >> ---
> >> hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
> >> 1 file changed, 21 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> >> index de3c616b4637..d89f0fd496b6 100644
> >> --- a/hw/ppc/spapr.c
> >> +++ b/hw/ppc/spapr.c
> >> @@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt,
> int offset,
> >> pcc->lrg_decr_bits)));
> >> }
> >> +static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr,
> CPUState *cs,
> >> + int cpus_offset)
> >> +{
> >> + PowerPCCPU *cpu = POWERPC_CPU(cs);
> >> + int index = spapr_get_vcpu_id(cpu);
> >> + DeviceClass *dc = DEVICE_GET_CLASS(cs);
> >> + g_autofree char *nodename = NULL;
> >> + int offset;
> >> +
> >> + if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> >> + return;
> >> + }
> >> +
> >> + nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> >> + offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> >> + _FDT(offset);
> >> + spapr_dt_cpu(cs, fdt, offset, spapr);
> >> +}
> >> +
> >> +
> >> static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
> >> {
> >> CPUState **rev;
> >> @@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt,
> SpaprMachineState *spapr)
> >> }
> >> for (i = n_cpus - 1; i >= 0; i--) {
> >> - CPUState *cs = rev[i];
> >> - PowerPCCPU *cpu = POWERPC_CPU(cs);
> >> - int index = spapr_get_vcpu_id(cpu);
> >> - DeviceClass *dc = DEVICE_GET_CLASS(cs);
> >> - g_autofree char *nodename = NULL;
> >> - int offset;
> >> -
> >> - if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> >> - continue;
> >> - }
> >> -
> >> - nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> >> - offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> >> - _FDT(offset);
> >> - spapr_dt_cpu(cs, fdt, offset, spapr);
> >> + spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
> >
> > Do we want to replace the call to spapr_dt_cpu in
> > spapr_core_dt_populate() with the _one_ as well?
> > Not sure about the implication of additional instructions there.
>
> yeah may be we could rework spapr_dt_one_cpu() and spapr_core_dt_populate()
> in a single routine. They are similar. It can come later.
>
> > Also, could this code insider wrapper become part of spapr_dt_cpu()
> itself?
> > If can't, do we want a better renaming of wrapper here?
>
> I am open to proposal :)
>
How about spapr_dt_cpu_prepare() ?
> Thanks
>
> C.
>
>
> >
> > Otherwise,
> > Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> >
> >> }
> >> g_free(rev);
>
>
>
On Tue, 19 Sept, 2023, 6:34 pm Harsh Prateek Bora, <
harsh.prateek.bora@gmail.com> wrote:
>
>
> On Tue, 19 Sept, 2023, 4:37 pm Cédric Le Goater, <clg@kaod.org> wrote:
>
>> On 9/19/23 09:28, Harsh Prateek Bora wrote:
>> >
>> >
>> > On 9/18/23 20:28, Cédric Le Goater wrote:
>> >> Introduce a helper routine defining one CPU device node to fix this
>> >> warning :
>> >>
>> >> ../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
>> >> ../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a
>> previous local [-Wshadow=compatible-local]
>> >> 812 | CPUState *cs = rev[i];
>> >> | ^~
>> >> ../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
>> >> 786 | CPUState *cs;
>> >> | ^~
>> >>
>> >> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> >> ---
>> >> hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
>> >> 1 file changed, 21 insertions(+), 15 deletions(-)
>> >>
>> >> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> >> index de3c616b4637..d89f0fd496b6 100644
>> >> --- a/hw/ppc/spapr.c
>> >> +++ b/hw/ppc/spapr.c
>> >> @@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt,
>> int offset,
>> >> pcc->lrg_decr_bits)));
>> >> }
>> >> +static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr,
>> CPUState *cs,
>> >> + int cpus_offset)
>> >> +{
>> >> + PowerPCCPU *cpu = POWERPC_CPU(cs);
>> >> + int index = spapr_get_vcpu_id(cpu);
>> >> + DeviceClass *dc = DEVICE_GET_CLASS(cs);
>> >> + g_autofree char *nodename = NULL;
>> >> + int offset;
>> >> +
>> >> + if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
>> >> + return;
>> >> + }
>> >> +
>> >> + nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
>> >> + offset = fdt_add_subnode(fdt, cpus_offset, nodename);
>> >> + _FDT(offset);
>> >> + spapr_dt_cpu(cs, fdt, offset, spapr);
>> >> +}
>> >> +
>> >> +
>> >> static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
>> >> {
>> >> CPUState **rev;
>> >> @@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt,
>> SpaprMachineState *spapr)
>> >> }
>> >> for (i = n_cpus - 1; i >= 0; i--) {
>> >> - CPUState *cs = rev[i];
>> >> - PowerPCCPU *cpu = POWERPC_CPU(cs);
>> >> - int index = spapr_get_vcpu_id(cpu);
>> >> - DeviceClass *dc = DEVICE_GET_CLASS(cs);
>> >> - g_autofree char *nodename = NULL;
>> >> - int offset;
>> >> -
>> >> - if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
>> >> - continue;
>> >> - }
>> >> -
>> >> - nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
>> >> - offset = fdt_add_subnode(fdt, cpus_offset, nodename);
>> >> - _FDT(offset);
>> >> - spapr_dt_cpu(cs, fdt, offset, spapr);
>> >> + spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
>> >
>> > Do we want to replace the call to spapr_dt_cpu in
>> > spapr_core_dt_populate() with the _one_ as well?
>> > Not sure about the implication of additional instructions there.
>>
>> yeah may be we could rework spapr_dt_one_cpu() and
>> spapr_core_dt_populate()
>> in a single routine. They are similar. It can come later.
>>
>> > Also, could this code insider wrapper become part of spapr_dt_cpu()
>> itself?
>> > If can't, do we want a better renaming of wrapper here?
>>
>> I am open to proposal :)
>>
>
> How about spapr_dt_cpu_prepare() ?
>
I guess spapr_dt_cpu_process() may be more apt since it calls the
spapr_dt_cpu internally.
>
>> Thanks
>>
>> C.
>>
>>
>> >
>> > Otherwise,
>> > Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>> >
>> >> }
>> >> g_free(rev);
>>
>>
>>
On 9/19/23 16:59, Harsh Prateek Bora wrote:
>
>
> On Tue, 19 Sept, 2023, 6:34 pm Harsh Prateek Bora, <harsh.prateek.bora@gmail.com <mailto:harsh.prateek.bora@gmail.com>> wrote:
>
>
>
> On Tue, 19 Sept, 2023, 4:37 pm Cédric Le Goater, <clg@kaod.org <mailto:clg@kaod.org>> wrote:
>
> On 9/19/23 09:28, Harsh Prateek Bora wrote:
> >
> >
> > On 9/18/23 20:28, Cédric Le Goater wrote:
> >> Introduce a helper routine defining one CPU device node to fix this
> >> warning :
> >>
> >> ../hw/ppc/spapr.c: In function ‘spapr_dt_cpus’:
> >> ../hw/ppc/spapr.c:812:19: warning: declaration of ‘cs’ shadows a previous local [-Wshadow=compatible-local]
> >> 812 | CPUState *cs = rev[i];
> >> | ^~
> >> ../hw/ppc/spapr.c:786:15: note: shadowed declaration is here
> >> 786 | CPUState *cs;
> >> | ^~
> >>
> >> Signed-off-by: Cédric Le Goater <clg@kaod.org <mailto:clg@kaod.org>>
> >> ---
> >> hw/ppc/spapr.c | 36 +++++++++++++++++++++---------------
> >> 1 file changed, 21 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> >> index de3c616b4637..d89f0fd496b6 100644
> >> --- a/hw/ppc/spapr.c
> >> +++ b/hw/ppc/spapr.c
> >> @@ -780,6 +780,26 @@ static void spapr_dt_cpu(CPUState *cs, void *fdt, int offset,
> >> pcc->lrg_decr_bits)));
> >> }
> >> +static void spapr_dt_one_cpu(void *fdt, SpaprMachineState *spapr, CPUState *cs,
> >> + int cpus_offset)
> >> +{
> >> + PowerPCCPU *cpu = POWERPC_CPU(cs);
> >> + int index = spapr_get_vcpu_id(cpu);
> >> + DeviceClass *dc = DEVICE_GET_CLASS(cs);
> >> + g_autofree char *nodename = NULL;
> >> + int offset;
> >> +
> >> + if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> >> + return;
> >> + }
> >> +
> >> + nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> >> + offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> >> + _FDT(offset);
> >> + spapr_dt_cpu(cs, fdt, offset, spapr);
> >> +}
> >> +
> >> +
> >> static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
> >> {
> >> CPUState **rev;
> >> @@ -809,21 +829,7 @@ static void spapr_dt_cpus(void *fdt, SpaprMachineState *spapr)
> >> }
> >> for (i = n_cpus - 1; i >= 0; i--) {
> >> - CPUState *cs = rev[i];
> >> - PowerPCCPU *cpu = POWERPC_CPU(cs);
> >> - int index = spapr_get_vcpu_id(cpu);
> >> - DeviceClass *dc = DEVICE_GET_CLASS(cs);
> >> - g_autofree char *nodename = NULL;
> >> - int offset;
> >> -
> >> - if (!spapr_is_thread0_in_vcore(spapr, cpu)) {
> >> - continue;
> >> - }
> >> -
> >> - nodename = g_strdup_printf("%s@%x", dc->fw_name, index);
> >> - offset = fdt_add_subnode(fdt, cpus_offset, nodename);
> >> - _FDT(offset);
> >> - spapr_dt_cpu(cs, fdt, offset, spapr);
> >> + spapr_dt_one_cpu(fdt, spapr, rev[i], cpus_offset);
> >
> > Do we want to replace the call to spapr_dt_cpu in
> > spapr_core_dt_populate() with the _one_ as well?
> > Not sure about the implication of additional instructions there.
>
> yeah may be we could rework spapr_dt_one_cpu() and spapr_core_dt_populate()
> in a single routine. They are similar. It can come later.
>
> > Also, could this code insider wrapper become part of spapr_dt_cpu() itself?
> > If can't, do we want a better renaming of wrapper here?
>
> I am open to proposal :)
>
>
> How about spapr_dt_cpu_prepare() ?
>
>
> I guess spapr_dt_cpu_process() may be more apt since it calls the spapr_dt_cpu internally.
*_one_* is a common qualifier in QEMU and Linux routine names.
C.
>
>
>
> Thanks
>
> C.
>
>
> >
> > Otherwise,
> > Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com <mailto:harshpb@linux.ibm.com>>
> >
> >> }
> >> g_free(rev);
>
>
© 2016 - 2026 Red Hat, Inc.