On 30/10/16 22:11, David Gibson wrote: > spapr_h_cas_compose_response() includes a cpu_update parameter which > controls whether it includes updated information on the CPUs in the device > tree fragment returned from the ibm,client-architecture-support (CAS) call. > > Providing the updated information is essential when CAS has negotiated > compatibility options which require different cpu information to be > presented to the guest. However, it should be safe to provide in other > cases (it will just override the existing data in the device tree with > identical data). This simplifies the code by removing the parameter and > always providing the cpu update information. > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <a...@ozlabs.ru> > --- > hw/ppc/spapr.c | 5 +---- > hw/ppc/spapr_hcall.c | 8 ++------ > include/hw/ppc/spapr.h | 1 - > 3 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index ad68a9d..3551439 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -686,7 +686,6 @@ out: > > int spapr_h_cas_compose_response(sPAPRMachineState *spapr, > target_ulong addr, target_ulong size, > - bool cpu_update, > sPAPROptionVector *ov5_updates) > { > void *fdt, *fdt_skel; > @@ -705,9 +704,7 @@ int spapr_h_cas_compose_response(sPAPRMachineState *spapr, > g_free(fdt_skel); > > /* Fixup cpu nodes */ > - if (cpu_update) { > - _FDT((spapr_fixup_cpu_dt(fdt, spapr))); > - } > + _FDT((spapr_fixup_cpu_dt(fdt, spapr))); > > if (spapr_dt_cas_updates(spapr, fdt, ov5_updates)) { > return -1; > diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c > index 7c46d46..b5544cb 100644 > --- a/hw/ppc/spapr_hcall.c > +++ b/hw/ppc/spapr_hcall.c > @@ -945,7 +945,7 @@ static target_ulong > h_client_architecture_support(PowerPCCPU *cpu_, > target_ulong ov_table; > PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu_); > CPUState *cs; > - bool cpu_match = false, cpu_update = true; > + bool cpu_match = false; > unsigned old_cpu_version = cpu_->cpu_version; > unsigned compat_lvl = 0, cpu_version = 0; > unsigned max_lvl = get_compat_level(cpu_->max_compat); > @@ -999,10 +999,6 @@ static target_ulong > h_client_architecture_support(PowerPCCPU *cpu_, > } > } > > - if (!cpu_version) { > - cpu_update = false; > - } > - > /* For the future use: here @ov_table points to the first option vector > */ > ov_table = list; > > @@ -1028,7 +1024,7 @@ static target_ulong > h_client_architecture_support(PowerPCCPU *cpu_, > > if (!spapr->cas_reboot) { > spapr->cas_reboot = > - (spapr_h_cas_compose_response(spapr, args[1], args[2], > cpu_update, > + (spapr_h_cas_compose_response(spapr, args[1], args[2], > ov5_updates) != 0); > } > spapr_ovec_cleanup(ov5_updates); > diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h > index f8d444d..04d2821 100644 > --- a/include/hw/ppc/spapr.h > +++ b/include/hw/ppc/spapr.h > @@ -589,7 +589,6 @@ void spapr_events_init(sPAPRMachineState *sm); > void spapr_dt_events(sPAPRMachineState *sm, void *fdt); > int spapr_h_cas_compose_response(sPAPRMachineState *sm, > target_ulong addr, target_ulong size, > - bool cpu_update, > sPAPROptionVector *ov5_updates); > sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn); > void spapr_tce_table_enable(sPAPRTCETable *tcet, > -- Alexey