BSP-specific init code in arm/shared/start.S?

Martin Galvan martin.galvan at tallertechnologies.com
Sun Feb 22 22:40:32 UTC 2015


On Sun, Feb 22, 2015 at 3:38 PM, Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
> The start.S already has a #include <bspopts.h>. So I would add a BSP option
> to define something like BSP_START_DO_LOCKSTEP_INITIALIZATION and use it in
> start.S.

Thanks for your answer, we'll look into this.

>>
>> Additionally, when the CCM detects an error it raises a FIQ which must
>> be handled in a board-specific way, otherwise it re-raises the FIQ as
>> soon as _ARMV4_Exception_fiq_default enables FIQs in the CPSR.
>
>
> Oh, this is a bug, the _ARMV4_Exception_fiq_default should not enable the
> FIQs.

It's actually in save_more_context, at the point where it's loading
the SPSR plus the T and I bits into the CPSR. If we got there from the
FIQ handler, SPSR would have FIQs enabled.

> I would add BSP_START_EXCEPTION_UNDEF_HANDLER etc. defines and add something
> like this:
>
> #ifdef BSP_START_EXCEPTION_UNDEF_HANDLER
>     .word    BSP_START_EXCEPTION_UNDEF_HANDLER
> #else
>     .word    _ARMV4_Exception_undef_default
> #endif

You mean at the beginning of start.S? If it's OK with you then we'll
get to work on that.

Again, thanks a lot for your answer.


More information about the devel mailing list