[U-Boot] [PATCH] arm: fix exception vectors
Albert ARIBAUD
albert.u.boot at aribaud.net
Sat Jan 17 07:40:01 CET 2015
Hello Luca,
On Mon, 29 Dec 2014 16:10:53 +0100, Luca Ellero
<luca.ellero at brickedbrain.com> wrote:
> After relocation, exception vectors still point to the old code (not relocated).
> This patch fixes them.
>
> Signed-off-by: Luca Ellero <luca.ellero at brickedbrain.com>
> ---
> arch/arm/lib/relocate.S | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/arch/arm/lib/relocate.S b/arch/arm/lib/relocate.S
> index 92f5314..4186344 100644
> --- a/arch/arm/lib/relocate.S
> +++ b/arch/arm/lib/relocate.S
> @@ -76,6 +76,21 @@ copy_loop:
> blo copy_loop
>
> /*
> + * fix exception vectors
> + */
> + ldr r2, =_undefined_instruction
> + ldr r3, =_fiq
> + add r2, r2, r4
> + add r3, r3, r4
> +fix_exceptions:
> + ldr r0, [r2]
> + add r0, r0, r4
> + str r0, [r2]
> + cmp r2,r3
> + add r2, #4
> + blo fix_exceptions
> +
> + /*
> * fix .rel.dyn relocations
> */
> ldr r2, =__rel_dyn_start /* r2 <- SRC &__rel_dyn_start */
> --
> 1.7.10.4
>
There is already a mechanism to relocate vectors (do a git grep for
'relocate_vectors' which takes into account various ISA and SoC cases.
Can you describe the use case which you are encountering?
Amicalement,
--
Albert.
More information about the U-Boot
mailing list