Subject: Re: [PATCH v4 3/3] KVM: PPC: epapr: install ev_idle hcall for e500 guest

From: Scott Wood <[email-masked]>
Date: Thu, 16 Feb 2012 11:36:09 -0600

On 02/16/2012 11:30 AM, Alexander Graf wrote:
> 
> On 16.02.2012, at 18:28, Scott Wood wrote:
> 
>> On 02/16/2012 11:18 AM, Alexander Graf wrote:
>>> Hrm. But we can clobber ctr, right? So how about we make the generic version do a bctr and then just do a small C wrapper that takes lr, moves it to ctr and branches to the generic one?
>>
>> If it's just for this, I would say don't mess with the normal hcall path
>> for the sake of idle.  If using CTR would let us get away without
>> creating a stack frame in call sites, maybe that would be worthwhile,
>> depending on what sort of hcalls we end up having.
>>
>>> Then we don't have to replicate the hypercall code all over again for every invocation.
>>
>> We shouldn't need to do it for every invocation.  Idle is special due to
>> the TLF_NAPPING hack.
> 
> Famous last words. If it's the only case, duplication should be ok. Let's hope there are no others.

Actually, we can't use CTR -- it's volatile in the ePAPR hypercall ABI.

-Scott