On 02/16/2012 04:24 AM, Alexander Graf wrote:
> On 16.02.2012, at 10:26, Liu Yu <yu....@freescale.com> wrote:
>> +_GLOBAL(epapr_ev_idle)
>> +epapr_ev_idle:
>> +    rlwinm    r3,r1,0,0,31-THREAD_SHIFT    /* current thread_info */
>> +    lwz    r4,TI_LOCAL_FLAGS(r3)    /* set napping bit */
>> +    ori    r4,r4,_TLF_NAPPING    /* so when we take an exception */
>> +    stw    r4,TI_LOCAL_FLAGS(r3)    /* it will return to our caller */
>> +
>> +    wrteei    1
>> +
>> +idle_loop:
>> +    LOAD_REG_IMMEDIATE(r11, HC_VENDOR_EPAPR | HC_EV_IDLE)
>> +
>> +.global epapr_ev_idle_start
>> +epapr_ev_idle_start:
>> +    li    r3, -1
>> +    nop
>> +    nop
>> +    nop
> 
> Can't you just bl into epapr_hypercall_start? You don't even have to save the 
> old lr. because we never return anyways :)

The interrupt will branch to LR, so no, we can't trash it or put it
anywhere else.

-scott

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to