61 lines
1 KiB
Forth
61 lines
1 KiB
Forth
|
\ tag: misc useful functions
|
||
|
\
|
||
|
\ Open Firmware Startup
|
||
|
\
|
||
|
\ Copyright (C) 2003 Samuel Rydh
|
||
|
\
|
||
|
\ See the file "COPYING" for further information about
|
||
|
\ the copyright and warranty status of this work.
|
||
|
\
|
||
|
|
||
|
variable PREPOST-list
|
||
|
variable POST-list
|
||
|
variable SYSTEM-list
|
||
|
variable DIAG-list
|
||
|
|
||
|
: PREPOST-initializer ( xt -- )
|
||
|
PREPOST-list list-add ,
|
||
|
;
|
||
|
|
||
|
: POST-initializer ( xt -- )
|
||
|
POST-list list-add ,
|
||
|
;
|
||
|
|
||
|
: SYSTEM-initializer ( xt -- )
|
||
|
SYSTEM-list list-add ,
|
||
|
;
|
||
|
|
||
|
: DIAG-initializer ( xt -- )
|
||
|
DIAG-list list-add ,
|
||
|
;
|
||
|
|
||
|
|
||
|
\ OpenFirmware entrypoint
|
||
|
: initialize-of ( startmem endmem -- )
|
||
|
initialize-forth
|
||
|
|
||
|
PREPOST-list begin list-get while @ execute repeat
|
||
|
POST-list begin list-get while @ execute repeat
|
||
|
SYSTEM-list begin list-get while @ execute repeat
|
||
|
|
||
|
\ evaluate nvramrc script
|
||
|
use-nvramrc? if
|
||
|
nvramrc evaluate
|
||
|
then
|
||
|
|
||
|
\ probe-all etc.
|
||
|
suppress-banner? 0= if
|
||
|
probe-all
|
||
|
install-console
|
||
|
banner
|
||
|
then
|
||
|
|
||
|
DIAG-list begin list-get while @ execute repeat
|
||
|
|
||
|
auto-boot? if
|
||
|
boot-command evaluate
|
||
|
then
|
||
|
|
||
|
outer-interpreter
|
||
|
;
|