[U-Boot-Users] PXA (XScale) memory layout

Anders Larsen alarsen at rea.de
Fri Sep 12 10:02:36 CEST 2003


Wolfgang Denk <wd at denx.de> schreibt:
>In message <fc.004c4e48001c9311004c4e48001c9311.1c932e at rea.de> you wrote:
>> It seems to be causing a certain amount of grief (and dirty workarounds,
>> like e.g. in board/wepep250/wepep250.c lines 43..53) that
>> cpu/pxa/start.S places stack (and heap) below the code instead of above.
>
>It is CORRECT to have stack and heap below the code.

I fully agree - only, the PXA implementation is incomplete; it places
the stack below the code and reserves space for the heap below the code
too, but it does not set the heap start address (which lib_arm/board.c
expects to find in _armboot_real_end), so U-Boot crashes when
start_armboot() calls mem_malloc_init(_armboot_real_end)!

board/wepep250/wepep250.c contains an incorrect workaround, which places
the heap above the code (leaving a huge hole below the code), the other
PXA boards cannot work as is (so they probably haven't been tested after
the code was copied from ARMboot).

BTW, the problem is partly documented with a FIXME comment in
cpu/pxa/cpu.c

As soon as I've figured out exactly how to initialize IRQ_STACK_START
and FIQ_STACK_START consistently, I'll submit a patch.

If you wish, I'd volunteer to fix the other ARM implementations, too
(but I only have access to PXA hardware for testing).

Cheers
 Anders





More information about the U-Boot mailing list