Dear Allen Martin,

In message <1344448286-14144-1-git-send-email-amar...@nvidia.com> you wrote:
> lowlevel_init() is called before stack is initialized, so it's not
> safe to call directly into C code.  Copy this wrapper from omap that
> saves off the ip register and sets up a temporary stack.  This fixes a
> hang using CodeSourcery toolchain.
...
> +     /*
> +      * Setup a temporary stack
> +      */
> +     ldr     sp, =LOW_LEVEL_SRAM_STACK
> +
> +     /*
> +      * Save the old lr(passed in ip) and the current lr to stack
> +      */
> +     push    {ip, lr}

Are you sure this provides a valid stack frame? I think there are more
requirements to that...


BTW: this LOW_LEVEL_SRAM_STACK is really ugly; It is completely
undocumented, and breaks naming conventions (it should be
CONFIG_SYS_... instead).  I know that this was not introduced by this
patch, but it should be fixed ASAP - it's mostly TI and Tegra that use
that...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
What is tolerance? -- it is the consequence of humanity. We  are  all
formed  of frailty and error; let us pardon reciprocally each other's
folly -- that is the first law of nature.                  - Voltaire
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to