On 02/16/2012 11:30 AM, Alexander Graf wrote:
On 16.02.2012, at 18:28, Scott Wood wrote:
quoted
On 02/16/2012 11:18 AM, Alexander Graf wrote:
quoted
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.
quoted
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