Subject: Boot code of linuxppc v. netbsd
To: None <port-powerpc@NetBSD.ORG>
From: Dan Jacobowitz <youngdrow@geocities.com>
List: port-powerpc
Date: 01/03/1998 11:58:31
First of all, if anyone wants to look at it, linux-pmac/arch/ppc can be
found both loose and as a .tgz under
http://www.drow.net/netbsd/linux_arch_ppc and
http://www.drow.net/netbsd/linux_arch_ppc.tgz .
Looking at coffboot, their xcoff boot loader, I noticed something very
interesting. It calls first crt0 - some cache flushing only, as far as I
can tell - and then start(int a1, int a2, void *promptr).
Our ofwboot on the other hand begins right at:
__dead void
_start(vpd, res, openfirm, arg, argl)
void *vpd;
int res;
int (*openfirm)(void *);
char *arg;
int argl;
Notice that we are expecting five parameters instead of three. Could it
possibly be that Apple's OF is not providing five?
As an aside, in arch/powerpc/powerpc/ofwmagic.S we say:
/*
* Magic note section used by OpenFirmware.
*/
[snip]
# note descriptor
# real mode (-1) or virtual mode (0)
.long 0
Is this ignored? Also, I note that a vmlinux.coff has only a .text, .data,
and .bss while we have seven or so sections. Cutting corners for poor old
Apple again?
Dan.
---------------------------------------------------------------------
| Dan Jacobowitz | drow@drow.net |
| Administrator Extraordinaire | Web site coming someday |
| My opinions are my own - | Day Job: http://www.wwwcomm.com |
| My mistakes are someone else's | |
---------------------------------------------------------------------