A couple of things to point out here:

On Wed, Jun 22, 2011 at 04:16:58PM +0100, Russell King - ARM Linux wrote:
> -     mrc     p15, 0, r4, c13, c0, 1  @ Context ID
> -     mrc     p15, 0, r5, c13, c0, 2  @ User r/w thread and process ID
> -     mrc     p15, 0, r6, c12, c0, 0  @ Secure or NS vector base address
> -     mrs     r7, cpsr                @ Store current cpsr
> -     stmia   r8!, {r4-r7}

1. The User r/w thread and process ID is not saved/restored by Linux over
context switches, so it doesn't serve any useful purpose to save and
restore over resume.

2. Compare the instruction saving and restoring the vector base address
(see below for the restore code.)

> -     ldmia   r3!,{r4-r7}
> -     mcr     p15, 0, r4, c13, c0, 1  @ Context ID
> -     mcr     p15, 0, r5, c13, c0, 2  @ User r/w thread and process ID
> -     mrc     p15, 0, r6, c12, c0, 0  @ Secure or NS vector base address
> -     msr     cpsr, r7                @ store cpsr

Which means it's pointless saving and restoring that register, because
we already aren't restoring it (plus there's the possibility that if we
were to write to it, we'd get an abort.)
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to