* [U-Boot-Users] Memory layout on PXA
@ 2003-02-12 18:40 Geir Thomassen
2003-02-12 19:07 ` Robert Schwebel
0 siblings, 1 reply; 5+ messages in thread
From: Geir Thomassen @ 2003-02-12 18:40 UTC (permalink / raw)
To: u-boot
I am porting u-boot to a custom PXA255 board.
Just a quick check, to see if I understand the code correctly:
1) u-boot is copied from flash into memory at TEXT_BASE
(typ. 0xA3000000 on PXA).
2) The stack is below the u-boot code. From cpu/xscale/start.S,
it looks like the stack is at TEXT_BASE - CFG_MALLOC_LEN - 12. I
think the stack grows toward lower addresses on arm, is this
correct ?
3) Memory for malloc() is supposed to be after the u-boot
code (including initialized and initialized data) at address
armboot_real_end. If I understand the code correct, it points
0xbadc0de. Some time, it has been set to armboot_end +
CONFIG_STACKSIZE in cpu/xscale/cpu.c, but the code for doing
so have been commented out (both in 0.2.0 and in CVS). There
is room for putting the heap between the stack and the u-boot
code ...
Sooo, if I understand this correct, this is a mess. How
should it be done ? Are there any good reasons for a particular
memory layout on PXA ?
BTW: Does u-boot run "out of the box" on any PXA hardware, I
don't understand how it could unless the hardware have RAM at
0xBADC0DE ..
--
Geir
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] Memory layout on PXA
2003-02-12 18:40 [U-Boot-Users] Memory layout on PXA Geir Thomassen
@ 2003-02-12 19:07 ` Robert Schwebel
2003-02-12 20:08 ` Wolfgang Denk
0 siblings, 1 reply; 5+ messages in thread
From: Robert Schwebel @ 2003-02-12 19:07 UTC (permalink / raw)
To: u-boot
Hi Geir,
On Wed, Feb 12, 2003 at 07:40:27PM +0100, Geir Thomassen wrote:
> I am porting u-boot to a custom PXA255 board.
I've recently sent several patches to Wolfgang for the PXA architecture;
unfortunately he didn't have time to integrate them yet. If I don't
forget it I can send you my patches against current CVS tomorrow.
> 1) u-boot is copied from flash into memory at TEXT_BASE
> (typ. 0xA3000000 on PXA).
Ack.
> 2) The stack is below the u-boot code. From cpu/xscale/start.S,
> it looks like the stack is at TEXT_BASE - CFG_MALLOC_LEN - 12. I
> think the stack grows toward lower addresses on arm, is this
> correct ?
In ARMboot the stack was above the relocated uboot code - I tried to
change this for my PXA250 implementation. I know that there are code
fragments left which assume that the stack is above - this is partly
fixed in the patches I sent to Wolfgang.
> 3) Memory for malloc() is supposed to be after the u-boot
> code (including initialized and initialized data) at address
> armboot_real_end.
Not in my ports (CSB226, Innokom). I tried to follow the way which is
outlined in the README document.
> BTW: Does u-boot run "out of the box" on any PXA hardware, I
> don't understand how it could unless the hardware have RAM at
> 0xBADC0DE ..
At the moment I have it running on the plattforms mentioned above. If
you don't get my patch tomorrow in the morning please ask back...
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Braunschweiger Str. 79, 31134 Hildesheim, Germany
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
^ permalink raw reply [flat|nested] 5+ messages in thread* [U-Boot-Users] Memory layout on PXA
2003-02-12 19:07 ` Robert Schwebel
@ 2003-02-12 20:08 ` Wolfgang Denk
2003-02-13 6:38 ` Robert Schwebel
2003-02-13 6:40 ` Robert Schwebel
0 siblings, 2 replies; 5+ messages in thread
From: Wolfgang Denk @ 2003-02-12 20:08 UTC (permalink / raw)
To: u-boot
In message <20030212190734.GH10342@pengutronix.de> you wrote:
>
> I've recently sent several patches to Wolfgang for the PXA architecture;
> unfortunately he didn't have time to integrate them yet. If I don't
Sorry...
> forget it I can send you my patches against current CVS tomorrow.
>
> > 1) u-boot is copied from flash into memory at TEXT_BASE
> > (typ. 0xA3000000 on PXA).
>
> Ack.
NAK! This is NOT how it's intended to be. TEXT_BASE is the link
address of the image in flash. You should dynamically determine the
size of your RAM, and copy the u-boot code to the top of RAM,
wherever that may be.
> > 2) The stack is below the u-boot code. From cpu/xscale/start.S,
> > it looks like the stack is at TEXT_BASE - CFG_MALLOC_LEN - 12. I
-12 ??? Aren't there any alignment requirements for XScale?
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
Like winter snow on summer lawn, time past is time gone.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot-Users] Memory layout on PXA
2003-02-12 20:08 ` Wolfgang Denk
@ 2003-02-13 6:38 ` Robert Schwebel
2003-02-13 6:40 ` Robert Schwebel
1 sibling, 0 replies; 5+ messages in thread
From: Robert Schwebel @ 2003-02-13 6:38 UTC (permalink / raw)
To: u-boot
On Wed, Feb 12, 2003 at 09:08:23PM +0100, Wolfgang Denk wrote:
> Sorry...
No problem :-)
> > > 1) u-boot is copied from flash into memory at TEXT_BASE
> > > (typ. 0xA3000000 on PXA).
> >
> > Ack.
>
> NAK! This is NOT how it's intended to be. TEXT_BASE is the link
> address of the image in flash. You should dynamically determine the
> size of your RAM, and copy the u-boot code to the top of RAM,
> wherever that may be.
I know - just didn't have time to find out how to achieve this. This is
how it worked in the other ports.
> > > 2) The stack is below the u-boot code. From cpu/xscale/start.S,
> > > it looks like the stack is at TEXT_BASE - CFG_MALLOC_LEN - 12. I
>
> -12 ??? Aren't there any alignment requirements for XScale?
12 bytes = 3 x 4 bytes = 3 32-bit-words...? This is for the abort-stack
(however that does works exactly - I didn't use it yet).
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Braunschweiger Str. 79, 31134 Hildesheim, Germany
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
^ permalink raw reply [flat|nested] 5+ messages in thread* [U-Boot-Users] Memory layout on PXA
2003-02-12 20:08 ` Wolfgang Denk
2003-02-13 6:38 ` Robert Schwebel
@ 2003-02-13 6:40 ` Robert Schwebel
1 sibling, 0 replies; 5+ messages in thread
From: Robert Schwebel @ 2003-02-13 6:40 UTC (permalink / raw)
To: u-boot
On Wed, Feb 12, 2003 at 09:08:23PM +0100, Wolfgang Denk wrote:
> You should dynamically determine the size of your RAM, and copy the
> u-boot code to the top of RAM, wherever that may be.
For PXA the RAM banks are in the 0xA000'0000 to 0xAFFF'FFFF area. How is
the situation with other non-PXA XScales?
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Braunschweiger Str. 79, 31134 Hildesheim, Germany
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Phone: +49-5121-28619-0 | Fax: +49-5121-28619-4
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-02-13 6:40 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-12 18:40 [U-Boot-Users] Memory layout on PXA Geir Thomassen
2003-02-12 19:07 ` Robert Schwebel
2003-02-12 20:08 ` Wolfgang Denk
2003-02-13 6:38 ` Robert Schwebel
2003-02-13 6:40 ` Robert Schwebel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.