Cédric Le Goater's on July 17, 2019 11:33 pm:
> On 17/07/2019 07:39, Nicholas Piggin wrote:
>> H_PROD is added, and H_CEDE is modified to test the prod bit
>> according to PAPR.
>> 
>> Signed-off-by: Nicholas Piggin <npig...@gmail.com>
>> ---
>>  hw/ppc/spapr_hcall.c | 29 +++++++++++++++++++++++++++++
>>  1 file changed, 29 insertions(+)
>> 
>> diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
>> index e615881ac4..8b208ab259 100644
>> --- a/hw/ppc/spapr_hcall.c
>> +++ b/hw/ppc/spapr_hcall.c
>> @@ -1050,14 +1050,41 @@ static target_ulong h_cede(PowerPCCPU *cpu, 
>> SpaprMachineState *spapr,
>>  {
>>      CPUPPCState *env = &cpu->env;
>>      CPUState *cs = CPU(cpu);
>> +    SpaprCpuState *spapr_cpu = spapr_cpu_state(cpu);
>>  
>>      env->msr |= (1ULL << MSR_EE);
>>      hreg_compute_hflags(env);
>> +
>> +    if (spapr_cpu->prod) {
>> +        spapr_cpu->prod = false;
>> +        return H_SUCCESS;
>> +    }
>> +
>>      if (!cpu_has_work(cs)) {
>>          cs->halted = 1;
>>          cs->exception_index = EXCP_HLT;
> 
> Shouldn't that be EXCP_HALTED instead ? 

Possibly, I'm not sure. I don't know if it even makes a difference in
ppc code?

Thanks,
Nick

Reply via email to