[PATCH v2 1/2] powerpc/e500: make load_up_spe a normal fuction

Scott Wood scottwood at freescale.com
Thu Mar 8 04:08:12 EST 2012


On 03/07/2012 07:56 AM, Alexander Graf wrote:
> On 03/01/2012 02:20 AM, Olivia Yin wrote:
>> From: Liu Yu<yu.liu at freescale.com>
>>
>> So that we can call it when improving SPE switch like book3e did for
>> fp switch.
> 
> Timur / Scott, can you please (n)ack this one?

ACK, though as it touches non-KVM code it'd be nice to get an ack from
Kumar.

-Scott

> 
> Alex
> 
>> Signed-off-by: Liu Yu<yu.liu at freescale.com>
>> Signed-off-by: Olivia Yin<hong-hua.yin at freescale.com>
>> ---
>> v2:     add Signed-off-by
>>
>>   arch/powerpc/kernel/head_fsl_booke.S |   23 ++++++-----------------
>>   1 files changed, 6 insertions(+), 17 deletions(-)
>>
>> diff --git a/arch/powerpc/kernel/head_fsl_booke.S
>> b/arch/powerpc/kernel/head_fsl_booke.S
>> index d5d78c4..c96e025 100644
>> --- a/arch/powerpc/kernel/head_fsl_booke.S
>> +++ b/arch/powerpc/kernel/head_fsl_booke.S
>> @@ -539,8 +539,10 @@ interrupt_base:
>>       /* SPE Unavailable */
>>       START_EXCEPTION(SPEUnavailable)
>>       NORMAL_EXCEPTION_PROLOG
>> -    bne    load_up_spe
>> -    addi    r3,r1,STACK_FRAME_OVERHEAD
>> +    beq    1f
>> +    bl    load_up_spe
>> +    b    fast_exception_return
>> +1:    addi    r3,r1,STACK_FRAME_OVERHEAD
>>       EXC_XFER_EE_LITE(0x2010, KernelSPE)
>>   #else
>>       EXCEPTION(0x2020, SPEUnavailable, unknown_exception, EXC_XFER_EE)
>> @@ -743,7 +745,7 @@ tlb_write_entry:
>>   /* Note that the SPE support is closely modeled after the AltiVec
>>    * support.  Changes to one are likely to be applicable to the
>>    * other!  */
>> -load_up_spe:
>> +_GLOBAL(load_up_spe)
>>   /*
>>    * Disable SPE for the task which had SPE previously,
>>    * and save its SPE registers in its thread_struct.
>> @@ -791,20 +793,7 @@ load_up_spe:
>>       subi    r4,r5,THREAD
>>       stw    r4,last_task_used_spe at l(r3)
>>   #endif /* !CONFIG_SMP */
>> -    /* restore registers and return */
>> -2:    REST_4GPRS(3, r11)
>> -    lwz    r10,_CCR(r11)
>> -    REST_GPR(1, r11)
>> -    mtcr    r10
>> -    lwz    r10,_LINK(r11)
>> -    mtlr    r10
>> -    REST_GPR(10, r11)
>> -    mtspr    SPRN_SRR1,r9
>> -    mtspr    SPRN_SRR0,r12
>> -    REST_GPR(9, r11)
>> -    REST_GPR(12, r11)
>> -    lwz    r11,GPR11(r11)
>> -    rfi
>> +    blr
>>
>>   /*
>>    * SPE unavailable trap from kernel - print a message, but let
> 
> -- 
> To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 




More information about the Linuxppc-dev mailing list