[PATCH v6 1/5] ARM: lib: add call_with_stack function for safely changing stack

Catalin Marinas catalin.marinas at arm.com
Tue Nov 22 08:42:22 EST 2011


On 16 November 2011 17:54, Will Deacon <will.deacon at arm.com> wrote:
> When disabling the MMU, it is necessary to take out a 1:1 identity map
> of the reset code so that it can safely be executed with and without
> the MMU active. To avoid the situation where the physical address of the
> reset code aliases with the virtual address of the active stack (which
> cannot be included in the 1:1 mapping), it is desirable to change to a
> new stack at a location which is less likely to alias.
>
> This code adds a new lib function, call_with_stack:
>
>        void call_with_stack(void (*fn)(void *), void *arg, void *sp);
>
> which changes the stack to point at the sp parameter, before invoking
> fn(arg) with the new stack selected.
>
> Reviewed-by: Nicolas Pitre <nicolas.pitre at linaro.org>
> Signed-off-by: Dave Martin <dave.martin at linaro.org>
> Signed-off-by: Will Deacon <will.deacon at arm.com>

Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>



More information about the linux-arm-kernel mailing list