[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v2] target/ppc/kvm: set vcpu as online/offline
From: |
Nikunj A Dadhania |
Subject: |
Re: [Qemu-ppc] [PATCH v2] target/ppc/kvm: set vcpu as online/offline |
Date: |
Tue, 04 Sep 2018 14:49:31 +0530 |
David Gibson <address@hidden> writes:
> On Tue, Sep 04, 2018 at 11:00:39AM +0530, Nikunj A Dadhania wrote:
>> Set the newly added register(KVM_REG_PPC_ONLINE) to indicate if the vcpu is
>> online(1) or offline(0)
>>
>> KVM will use this information to set the RWMR register, which controls the
>> PURR
>> and SPURR accumulation.
>>
>> CC: address@hidden
>> Signed-off-by: Nikunj A Dadhania <address@hidden>
>> ---
>> hw/ppc/spapr_cpu_core.c | 1 +
>> hw/ppc/spapr_rtas.c | 3 +++
>> target/ppc/kvm.c | 9 +++++++++
>> target/ppc/kvm_ppc.h | 6 ++++++
>> 4 files changed, 19 insertions(+)
>>
>> diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
>> index 876f0b3d9d..9863221756 100644
>> --- a/hw/ppc/spapr_cpu_core.c
>> +++ b/hw/ppc/spapr_cpu_core.c
>> @@ -90,6 +90,7 @@ void spapr_cpu_set_entry_state(PowerPCCPU *cpu,
>> target_ulong nip, target_ulong r
>>
>> env->nip = nip;
>> env->gpr[3] = r3;
>> + kvmppc_set_reg_ppc_online(cpu, 1);
>> CPU(cpu)->halted = 0;
>> /* Enable Power-saving mode Exit Cause exceptions */
>> ppc_store_lpcr(cpu, env->spr[SPR_LPCR] | pcc->lpcr_pm);
>> diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
>> index 4ac96bc94b..ce8072689b 100644
>> --- a/hw/ppc/spapr_rtas.c
>> +++ b/hw/ppc/spapr_rtas.c
>> @@ -33,6 +33,7 @@
>> #include "sysemu/device_tree.h"
>> #include "sysemu/cpus.h"
>> #include "sysemu/hw_accel.h"
>> +#include "kvm_ppc.h"
>>
>> #include "hw/ppc/spapr.h"
>> #include "hw/ppc/spapr_vio.h"
>> @@ -187,6 +188,7 @@ static void rtas_start_cpu(PowerPCCPU *callcpu,
>> sPAPRMachineState *spapr,
>> newcpu->env.tb_env->tb_offset = callcpu->env.tb_env->tb_offset;
>>
>> spapr_cpu_set_entry_state(newcpu, start, r3);
>> + kvmppc_set_reg_ppc_online(newcpu, 1);
>
> You're setting online in spapr_cpu_set_entry_state() called
> immediately above, so you don't need it here as well.
Ah right, I missed it. Will send a respin.
Regards
Nikunj