On 09/27/2016 11:10 AM, Cédric Le Goater wrote:
>>> +#include <libfdt.h>
>>> +
>>> +static void xscom_complete(uint64_t hmer_bits)
>>> +{
>>> +    CPUState *cs = current_cpu;
>>
>> Hmm.. is current_cpu a safe thing to use in the case of KVM or MTTCG?
> 
> yes, as we are running under cpu_exec when doing this call.

well, this is not true under the monitor. 

So we will have to come up with something to handle xscom read/writes 
from the monitor. Could we use first_cpu in that case ? 

Thanks,

C. 

>>> +    PowerPCCPU *cpu = POWERPC_CPU(cs);
>>> +    CPUPPCState *env = &cpu->env;
>>> +
>>> +    cpu_synchronize_state(cs);
>>> +    env->spr[SPR_HMER] |= hmer_bits;
>>> +
>>> +    /* XXX Need a CPU helper to set HMER, also handle gneeration
>>> +     * of HMIs
>>> +     */
> 
> Ben, 
> 
> The CPU helper would be to replicate the value of the SPR_HMER in all
> the threads of the core I guess ? 
> 
> Thanks,
> 
> C.
> 


Reply via email to