Re: bug in arm_cpu_lowlevel_init ??

Alexander Shiyan shc_work at mail.ru
Thu Feb 27 01:53:12 EST 2014


Четверг, 27 февраля 2014, 14:15 +08:00 от zzs <zzs213 at 126.com>:
> My cpu is at91rm9200
> 
> When start barebox at reset time by burn it in Nor flash, all things Ok.
> 
> But when start it by my first stage boot program, It's crash.  And
> Execption process code which install by my boot program, report Undef
> instruction detected.
> 
> The only diff is my boot program change the cpu to svc mode already.
> 
> I try the flowwing patch:
> 
> ------------------------------------------------
> --- a/arch/arm/cpu/lowlevel.S
> +++ b/arch/arm/cpu/lowlevel.S
> @@ -4,6 +4,7 @@
> 
>  .section ".text_bare_init_","ax"
>  ENTRY(arm_cpu_lowlevel_init)
> +       mov     r2, lr
>         /* set the cpu to SVC32 mode */
>         mrs     r12, cpsr
>         bic     r12, r12, #0x1f
> @@ -35,5 +36,5 @@ ENTRY(arm_cpu_lowlevel_init)
> 
>         mcr     p15, 0, r12, c1, c0, 0
> 
> -       mov     pc, lr
> +       mov     pc, r2
>  ENDPROC(arm_cpu_lowlevel_init)
> ------------------------------------------------
> 
> The problem dispeared, All things worked!!
> 
> I'm not very familiar with asm code,
> 
> Anybody tell me is this a bug, Or my boot program has strange behavior?

I can not say anything about this issue,
but maybe something will help article below:
http://www.heyrick.co.uk/armwiki/The_Status_register

---


More information about the barebox mailing list