Re: bug in arm_cpu_lowlevel_init ??

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Четверг, 27 февраля 2014, 14:15 +08:00 от zzs <zzs213@xxxxxxx>:
> 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

---
_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox





[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux