[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v5 2/4] spapr: Implement H_PROD
From: |
Nicholas Piggin |
Subject: |
Re: [Qemu-ppc] [PATCH v5 2/4] spapr: Implement H_PROD |
Date: |
Thu, 18 Jul 2019 12:24:05 +1000 |
User-agent: |
astroid/0.14.0 (https://github.com/astroidmail/astroid) |
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 <address@hidden>
>> ---
>> 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