[PATCH v3 3/3] [POWERPC] 40x/Book-E: Save/restore volatile exception registers
Kumar Gala
galak at kernel.crashing.org
Tue May 20 15:03:12 EST 2008
>> <snip>
>
>> --- a/arch/powerpc/kernel/entry_32.S
>> +++ b/arch/powerpc/kernel/entry_32.S
>
> <snip>
>
>> +#ifdef CONFIG_40x
>> .globl ret_from_crit_exc
>> ret_from_crit_exc:
>> + mfspr r9,SPRN_SPRG3
> lis r10,saved_ksp_limit at ha;
> lwz r10,saved_ksp_limit at l(r10);
> tovirt(r9,r9);
>> + stw r10,KSP_LIMIT(r9)
> lis r9, crit_srr0 at ha;
> lwz r9, crit_srr0 at l(r9);
> lis r10, crit_srr1 at ha;
> lwz r10, crit_srr1 at l(r10);
>> + mtspr SPRN_SRR0,r9;
>> + mtspr SPRN_SRR1,r10;
>> RET_FROM_EXC_LEVEL(SPRN_CSRR0, SPRN_CSRR1, RFCI)
>> +#endif /* CONFIG_40x */
>
> With the above changes, I no longer get kernel panics on returning
> from
> critical exceptions. Breakpoints and single stepping worked on my
> 405GP board.
>
> Again, not stress tested but it's looking much better.
>
> josh
Thanks. I've just posted v5 with the various fixes for 40x. Can you
test those out to make sure they still work.
- k
More information about the Linuxppc-dev
mailing list