ARM (Thumb Mode) _CPU_Context_switch_arm

Sebastian Huber sebastian.huber at
Wed Feb 27 09:15:48 UTC 2013

On 02/26/2013 09:39 PM, Joel Sherrill wrote:
>>>> 2008-04-17    Joel Sherrill <joel.sherrill at>
>>>>      * cpu.c: Add arm_cpu_mode so ARM BSP can overrid default value for cpsr.
>>>> Maybe if this was an extern and the BSP defined the variable and
>>>> initialised it it would be easier to notice. I never thought of looking
>>>> in cpu.c for places to modify.
>>> Wow! I don't remember that change at all. It doesn't even sound like the
>>> way I would normally solve this problem. :(
>>> Sebastian.. do you remember this?
>> I always wondered why we have this arm_cpu_mode variable.
>>> is there a better way to accomplish this?
>> I would simply remove this and use:
> The only BSP changing that variable is the nds
>    /* set the cpu mode to system user */
>    arm_cpu_mode = 0x1f;
> What's the impact of 0x13 (default) versus 0x1f?

The 0x1f is the system mode.  I don't know why the NDS uses this mode.  It 
should work with the SVC mode as all other ARMv4 BSPs.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the users mailing list