[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC 04/17] pseries: Make cpu_update during CAS unconditi
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [RFC 04/17] pseries: Make cpu_update during CAS unconditional |
Date: |
Thu, 3 Nov 2016 19:24:29 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
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 <address@hidden>
Reviewed-by: Alexey Kardashevskiy <address@hidden>
> ---
> 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
- Re: [Qemu-ppc] [RFC 04/17] pseries: Make cpu_update during CAS unconditional,
Alexey Kardashevskiy <=