| :noname |
| ." Type 'help' for detailed information" cr |
| \ ." boot secondary slave cdrom: " cr |
| \ ." 0 > boot hd:2,\boot\vmlinuz root=/dev/hda2" cr |
| ; DIAG-initializer |
| |
| : make-openable ( path ) |
| find-dev if |
| begin ?dup while |
| \ install trivial open and close methods |
| dup active-package! is-open |
| parent |
| repeat |
| then |
| ; |
| |
| : preopen ( chosen-str node-path ) |
| 2dup make-openable |
| |
| " /chosen" find-device |
| open-dev ?dup if |
| encode-int 2swap property |
| else |
| 2drop |
| then |
| ; |
| |
| :noname |
| set-defaults |
| ; PREPOST-initializer |
| |
| \ preopen device nodes (and store the ihandles under /chosen) |
| :noname |
| " memory" " /memory" preopen |
| " mmu" " /virtual-memory" preopen |
| ; SYSTEM-initializer |
| |
| device-end |
| |
| : rmap@ ( virt -- rmentry ) |
| drop 0 |
| ; |
| |
| \ D5.3 SBus specific on-board memory address space |
| : obmem ( -- space ) |
| 0 |
| ; |
| |
| \ (peek) and (poke) implementation |
| defer sfsr@ |
| defer ignore-dfault |
| |
| :noname |
| \ ( addr xt -- false | value true ) |
| sfsr@ drop \ Clear any existing MMU fault status |
| |
| -1 ignore-dfault ! \ Disable data fault trap |
| execute |
| 0 ignore-dfault ! \ Enable data fault trap |
| |
| sfsr@ 0= if |
| true |
| else |
| drop false \ Failed, drop the read value |
| then |
| ; to (peek) |
| |
| :noname |
| \ ( value addr xt -- okay? ) |
| sfsr@ drop \ Clear any existing MMU fault status |
| |
| -1 ignore-dfault ! \ Disable data fault trap |
| execute |
| 0 ignore-dfault ! \ Enable data fault trap |
| |
| sfsr@ 0= \ true if no fault |
| ; to (poke) |
| |
| \ Load TCX FCode driver blob |
| [IFDEF] CONFIG_DRIVER_SBUS |
| [IFDEF] CONFIG_QEMU |
| [ELSE] |
| -1 value tcx-driver-fcode |
| " QEMU,tcx.bin" $encode-file to tcx-driver-fcode |
| [THEN] |
| [THEN] |