Message ID | 20200515222032.18838-2-walling@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | s390: Extended-Length SCCB & DIAGNOSE 0x318 | expand |
On 16.05.20 00:20, Collin Walling wrote: > Functions within read scp/cpu info will need access to the machine > state. Let's make a call to retrieve the machine state once and > pass the appropriate data to the respective functions. > > Signed-off-by: Collin Walling <walling@linux.ibm.com> > --- > hw/s390x/sclp.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c > index ede056b3ef..61e2e2839c 100644 > --- a/hw/s390x/sclp.c > +++ b/hw/s390x/sclp.c > @@ -49,9 +49,8 @@ static inline bool sclp_command_code_valid(uint32_t code) > return false; > } > > -static void prepare_cpu_entries(SCLPDevice *sclp, CPUEntry *entry, int *count) > +static void prepare_cpu_entries(MachineState *ms, CPUEntry *entry, int *count) > { > - MachineState *ms = MACHINE(qdev_get_machine()); > uint8_t features[SCCB_CPU_FEATURE_LEN] = { 0 }; > int i; > > @@ -77,7 +76,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) > IplParameterBlock *ipib = s390_ipl_get_iplb(); > > /* CPU information */ > - prepare_cpu_entries(sclp, read_info->entries, &cpu_count); > + prepare_cpu_entries(machine, read_info->entries, &cpu_count); > read_info->entries_cpu = cpu_to_be16(cpu_count); > read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries)); > read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1); > @@ -132,10 +131,11 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) > /* Provide information about the CPU */ > static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *sccb) > { > + MachineState *machine = MACHINE(qdev_get_machine()); > ReadCpuInfo *cpu_info = (ReadCpuInfo *) sccb; > int cpu_count; > > - prepare_cpu_entries(sclp, cpu_info->entries, &cpu_count); > + prepare_cpu_entries(machine, cpu_info->entries, &cpu_count); > cpu_info->nr_configured = cpu_to_be16(cpu_count); > cpu_info->offset_configured = cpu_to_be16(offsetof(ReadCpuInfo, entries)); > cpu_info->nr_standby = cpu_to_be16(0); > Reviewed-by: David Hildenbrand <david@redhat.com>
On 5/18/20 4:38 AM, David Hildenbrand wrote: > On 16.05.20 00:20, Collin Walling wrote: >> Functions within read scp/cpu info will need access to the machine >> state. Let's make a call to retrieve the machine state once and >> pass the appropriate data to the respective functions. >> >> Signed-off-by: Collin Walling <walling@linux.ibm.com> >> --- >> hw/s390x/sclp.c | 8 ++++---- >> 1 file changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c >> index ede056b3ef..61e2e2839c 100644 >> --- a/hw/s390x/sclp.c >> +++ b/hw/s390x/sclp.c >> @@ -49,9 +49,8 @@ static inline bool sclp_command_code_valid(uint32_t code) >> return false; >> } >> >> -static void prepare_cpu_entries(SCLPDevice *sclp, CPUEntry *entry, int *count) >> +static void prepare_cpu_entries(MachineState *ms, CPUEntry *entry, int *count) >> { >> - MachineState *ms = MACHINE(qdev_get_machine()); >> uint8_t features[SCCB_CPU_FEATURE_LEN] = { 0 }; >> int i; >> >> @@ -77,7 +76,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) >> IplParameterBlock *ipib = s390_ipl_get_iplb(); >> >> /* CPU information */ >> - prepare_cpu_entries(sclp, read_info->entries, &cpu_count); >> + prepare_cpu_entries(machine, read_info->entries, &cpu_count); >> read_info->entries_cpu = cpu_to_be16(cpu_count); >> read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries)); >> read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1); >> @@ -132,10 +131,11 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) >> /* Provide information about the CPU */ >> static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *sccb) >> { >> + MachineState *machine = MACHINE(qdev_get_machine()); >> ReadCpuInfo *cpu_info = (ReadCpuInfo *) sccb; >> int cpu_count; >> >> - prepare_cpu_entries(sclp, cpu_info->entries, &cpu_count); >> + prepare_cpu_entries(machine, cpu_info->entries, &cpu_count); >> cpu_info->nr_configured = cpu_to_be16(cpu_count); >> cpu_info->offset_configured = cpu_to_be16(offsetof(ReadCpuInfo, entries)); >> cpu_info->nr_standby = cpu_to_be16(0); >> > > Reviewed-by: David Hildenbrand <david@redhat.com> > Thanks!
On 16/05/2020 00.20, Collin Walling wrote: > Functions within read scp/cpu info will need access to the machine > state. Let's make a call to retrieve the machine state once and > pass the appropriate data to the respective functions. > > Signed-off-by: Collin Walling <walling@linux.ibm.com> > --- > hw/s390x/sclp.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c > index ede056b3ef..61e2e2839c 100644 > --- a/hw/s390x/sclp.c > +++ b/hw/s390x/sclp.c > @@ -49,9 +49,8 @@ static inline bool sclp_command_code_valid(uint32_t code) > return false; > } > > -static void prepare_cpu_entries(SCLPDevice *sclp, CPUEntry *entry, int *count) > +static void prepare_cpu_entries(MachineState *ms, CPUEntry *entry, int *count) > { > - MachineState *ms = MACHINE(qdev_get_machine()); > uint8_t features[SCCB_CPU_FEATURE_LEN] = { 0 }; > int i; > > @@ -77,7 +76,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) > IplParameterBlock *ipib = s390_ipl_get_iplb(); > > /* CPU information */ > - prepare_cpu_entries(sclp, read_info->entries, &cpu_count); > + prepare_cpu_entries(machine, read_info->entries, &cpu_count); > read_info->entries_cpu = cpu_to_be16(cpu_count); > read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries)); > read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1); > @@ -132,10 +131,11 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) > /* Provide information about the CPU */ > static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *sccb) > { > + MachineState *machine = MACHINE(qdev_get_machine()); > ReadCpuInfo *cpu_info = (ReadCpuInfo *) sccb; > int cpu_count; > > - prepare_cpu_entries(sclp, cpu_info->entries, &cpu_count); > + prepare_cpu_entries(machine, cpu_info->entries, &cpu_count); > cpu_info->nr_configured = cpu_to_be16(cpu_count); > cpu_info->offset_configured = cpu_to_be16(offsetof(ReadCpuInfo, entries)); > cpu_info->nr_standby = cpu_to_be16(0); > Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index ede056b3ef..61e2e2839c 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -49,9 +49,8 @@ static inline bool sclp_command_code_valid(uint32_t code) return false; } -static void prepare_cpu_entries(SCLPDevice *sclp, CPUEntry *entry, int *count) +static void prepare_cpu_entries(MachineState *ms, CPUEntry *entry, int *count) { - MachineState *ms = MACHINE(qdev_get_machine()); uint8_t features[SCCB_CPU_FEATURE_LEN] = { 0 }; int i; @@ -77,7 +76,7 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) IplParameterBlock *ipib = s390_ipl_get_iplb(); /* CPU information */ - prepare_cpu_entries(sclp, read_info->entries, &cpu_count); + prepare_cpu_entries(machine, read_info->entries, &cpu_count); read_info->entries_cpu = cpu_to_be16(cpu_count); read_info->offset_cpu = cpu_to_be16(offsetof(ReadInfo, entries)); read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1); @@ -132,10 +131,11 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) /* Provide information about the CPU */ static void sclp_read_cpu_info(SCLPDevice *sclp, SCCB *sccb) { + MachineState *machine = MACHINE(qdev_get_machine()); ReadCpuInfo *cpu_info = (ReadCpuInfo *) sccb; int cpu_count; - prepare_cpu_entries(sclp, cpu_info->entries, &cpu_count); + prepare_cpu_entries(machine, cpu_info->entries, &cpu_count); cpu_info->nr_configured = cpu_to_be16(cpu_count); cpu_info->offset_configured = cpu_to_be16(offsetof(ReadCpuInfo, entries)); cpu_info->nr_standby = cpu_to_be16(0);
Functions within read scp/cpu info will need access to the machine state. Let's make a call to retrieve the machine state once and pass the appropriate data to the respective functions. Signed-off-by: Collin Walling <walling@linux.ibm.com> --- hw/s390x/sclp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)