On 12/21/19 6:51 AM, Alex Bennée wrote:
>> --- a/target/ppc/mem_helper.c
>> +++ b/target/ppc/mem_helper.c
>> @@ -177,14 +177,7 @@ static void dcbz_common(CPUPPCState *env, target_ulong 
>> addr,
>>      } else {
>>          /* Slow path */
>>          for (i = 0; i < dcbz_size; i += 8) {
>> -            if (epid) {
>> -#if !defined(CONFIG_USER_ONLY)
>> -                /* Does not make sense on USER_ONLY config */
>> -                cpu_stq_eps_ra(env, addr + i, 0, retaddr);
>> -#endif
>> -            } else {
>> -                cpu_stq_data_ra(env, addr + i, 0, retaddr);
>> -            }
>> +            cpu_stq_mmuidx_ra(env, addr + i, 0, mmu_idx, retaddr);
> 
> I assume the possibility of a user-mode with epid is elided in the
> translation phase by avoiding gen_dcbzep although I can't quite see
> where they get called from. Anyway:

I suspect that dcbzep (vs dcbze) is supposed to be privileged, but I can't see
that enforced anywhere.  Certainly one can't write to the EPSC register from
userspace...


r~

Reply via email to