[U-Boot] [PATCH] Tegra: Restore cp15 VBAR _start vector write forARMv7
Marc Dietrich
marvin24 at gmx.de
Thu Mar 28 19:46:43 CET 2013
Tom,
On Thursday 28 March 2013 10:26:03 Tom Warren wrote:
> A start vector fix was added by AneeshV for OMAP4 (commit 0d479b53),
> and caused the old monilithic Tegra builds to hang due to an undefined
> instruction trap. Previously, the code needed to run on both the
> AVP (ARM7TDI) and A9, and the AVP doesn't have a CP15 register.
> I corrected this in commit 6d6c0bae w/#ifndef CONFIG_TEGRA, but
> now that we use SPL, and boot the AVP w/o any ARMv7 code, I can
> revert my change, and make Aneesh's change apply to Tegra.
I applied your patch (and the one from Vincent [1]) but I still get no
exception output (just hang) with the test case I posted earlier [2]. There
must be still something wrong.
Marc
[1] http://u-boot.10912.n7.nabble.com/PATCH-armv7-do-not-relocate-start-twice-
td149815.html
[2] http://u-boot.10912.n7.nabble.com/unaligned-access-in-part-efi-c-
td150763.html
>
> Signed-off-by: Tom Warren <twarren at nvidia.com>
> ---
> arch/arm/cpu/armv7/start.S | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
> index c0e1849..7700315 100644
> --- a/arch/arm/cpu/armv7/start.S
> +++ b/arch/arm/cpu/armv7/start.S
> @@ -251,12 +251,10 @@ ENTRY(c_runtime_cpu_setup)
> /*
> * Move vector table
> */
> -#if !defined(CONFIG_TEGRA)
> /* Set vector address in CP15 VBAR register */
> ldr r0, =_start
> add r0, r0, r9
> mcr p15, 0, r0, c12, c0, 0 @Set VBAR
> -#endif /* !Tegra */
>
> bx lr
More information about the U-Boot
mailing list