Richard Miller | 14 May 11:23

RE: ipengine boot

dylan.saunders@... wrote:

> Thank you very much for the assistance. Just to confirm, the modified
> os/mpc/l.s should look like:
> ------------------------

Not quite.  As I said in my follow-up message, it needs to start like this:

	TEXT start(SB), $-4
	BL	1(PC)
	MOVW	MSR, R3
	...

Also, you should not really modify os/mpc/l.s because that's common for
several powerpc platforms not just the ipengine.  What I did was to copy
os/mpc/l.s to os/ipengine/ll.s, modify that, and change os/ipengine/mkfile
to use ll.$O instead of l.$O.  (There's probably a more elegant way to
do this.)

> Btw:
> Much of the C code in os/boot/mpc tries to include libc.h, ...

os/boot/mpc is something else altogether - a "proper" bootstrap loader
which can load kernel images from a formatted flash filesystem.  My
self-relocation mechanism assumes that you have simply used the
ipengine ROM monitor to install a kernel image in a chunk of flash
which is not part of a filesystem, e.g.
	load /lib/tftpd/iipe fe010000
and then executed it in place with
	go fe010020

You could of course make an ipengine boot loader based on the stuff in
os/boot/mpc, but it would be quite a bit more work (see Charles Forsyth's
recent message).


Gmane