blob: 814c720c9e7d5b3b622200712d76940c9312c87f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
: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
-1 value tcx-driver-fcode
" QEMU,tcx.bin" $encode-file to tcx-driver-fcode
[THEN]
|