[U-Boot] [PATCH] [ONENAND] Reduce OneNAND IPL code size v2

Scott Wood scottwood at freescale.com
Thu Dec 11 17:40:36 CET 2008


On Wed, Dec 10, 2008 at 09:05:00AM +0900, Kyungmin Park wrote:
> >> diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S
> >> index e622338..132cc4a 100644
> >> --- a/cpu/arm1136/start.S
> >> +++ b/cpu/arm1136/start.S
> >> @@ -33,23 +33,7 @@
> >>  .globl _start
> >>  _start: b    reset
> >>  #ifdef CONFIG_ONENAND_IPL
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -     ldr     pc, _hang
> >> -
> >> -_hang:
> >> -     .word   do_hang
> >> -     .word   0x12345678
> >> -     .word   0x12345678
> >> -     .word   0x12345678
> >> -     .word   0x12345678
> >> -     .word   0x12345678
> >> -     .word   0x12345678
> >> -     .word   0x12345678      /* now 16*4=64 */
> >> +     . = _start + 64         /* now 16*4=64 */
> >>  #else
> >
> > Can you do a branch-to-self here that will accomplish the same thing,
> > without needing do_hang later?
> 
> So I don't understand the meaning. In general in restricted
> environment, 1KiB bootloader.
> There's no room to handle exception.

I don't mean to handle the exception, just to hang if one happens rather
than going through the init code again.  I don't see how 64 bytes full of
branch-to-self instructions is going to take up any more space than 64
bytes of nothing.

> > Is there anything that's going to use this?  If not, just remove the
> > code.
> 
> I just wonder if there are some user to use. If not no problem to remove.

If nothing's using it, please remove it.

-Scott


More information about the U-Boot mailing list