blob: e034b5931239057baafa555c192e7284e8a4fe25 (
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
|
include config.fs
\ -------------------------------------------------------------------------
\ UPA encode/decode unit
\ -------------------------------------------------------------------------
: decode-unit-upa ( str len -- id lun )
ascii , left-split
( addr-R len-R addr-L len-L )
parse-hex
-rot parse-hex
swap
;
: encode-unit-upa ( id lun -- str len)
swap
pocket tohexstr
" ," pocket tmpstrcat >r
rot pocket tohexstr r> tmpstrcat drop
;
" /" find-device
2 encode-int " #address-cells" property
2 encode-int " #size-cells" property
" sun4u" encode-string " compatible" property
: encode-unit encode-unit-upa ;
: decode-unit decode-unit-upa ;
new-device
" memory" device-name
" memory" device-type
external
: open true ;
: close ;
\ see arch/sparc64/lib.c for methods
finish-device
new-device
" virtual-memory" device-name
external
\ see arch/sparc64/lib.c for methods
finish-device
" /options" find-device
" disk" encode-string " boot-from" property
" /openprom" find-device
" OBP 3.10.24 1999/01/01 01:01" encode-string " version" property
|