OF_chain()
OF_chain は
sys/arch/macppc/stand/ofwboot/Locore.c
の中に次のように書いてある
511 #ifdef __notyet__
....
542 #else
543 void
544 OF_chain(virt, size, entry, arg, len)
545 void *virt;
546 u_int size;
547 void (*entry)();
548 void *arg;
549 u_int len;
550 {
551 /*
552 * This is a REALLY dirty hack till the firmware gets this going
553 */
554 #if 0
555 OF_release(virt, size);
556 #endif
557 entry(0, 0, openfirmware, arg, len);
558 }
559 #endif
ここで entry は、(boot.c -> main で呼出された)
loadfile から引続き渡されて来たもの。
kernel の ELF の見出し部分(header) に書いてあるものが loadfile で読まれている。
この値としては、
例えば
0x10000 通常の場合
0x80000 GENERIC_MD などの Memory Disk の場合
などが入っている。
config GENERIC とした後で、
compile/GENERIC/Makefile を見ると
64 ##
65 ## (5) link settings
66 ##
67 TEXTADDR?= 0x100000
68 LINKFORMAT= -N
69 ENTRYPOINT= __start
のように書いあるのがそれである
|