Writing FCode 3.x Programs
  Rechercher uniquement dans ce livre
Télécharger cet ouvrage au format PDF

Index

Symbols

"alternate-reg"92
"assigned-addresses"92
"big-endian-aperture"93
"fast-back-to-back"97
"has-fcode"97
:12
;13
[']63

Numerics

0xfd2
3.x tokenizer50
66Mhz-capable9
6857

A

a.out header5
accessing
.....packages74
accessing a PCI device's configurationspace registers45
active package58
adding a PCI header to a PROM45
address90
address-bits90
#address-cells89
addressing
.....packages76
.....SBus161
ANS Forth
.....and FCode11
apply69
assigned-addresses property9
auto-boot?28
available92

B

begin-package34, 75, 77
begin-select-dev40
binary executable programs32
binary format
.....FCode11
boot scenario, Solaris51
boot software roles51
booting FCode image5
buffer:62
byte-load35

C

cache-line-size9
$call-method60, 64, ?? to 69
call-package64
$call-parent,?? to69
map-in $call-parent44
character-set93
class-code9
code examples
.....$open-package65
.....begin-package77
.....data
............instance-specific74
............static73
.....find-package64
.....open-dev76
.....reg19
colon definition12 to 13
command line editor30
compatible94
compile state12
configuration space base address51
configuration space command register52
configuration variables
.....auto-boot?28
.....fcode-debug?28
CPU PROM-generated properties8
current instance58

D

data
.....initialized62
.....instance-specific62
.....package61
.....packages58
.....static62
.....zero-filled62
data definition
.....packages73
deblocker support81
decode-unit63, 157
defer62
defining
......Forth words12
depth94
dev36, 58
device
......drivers, plug-in70
......identification2
......node3
......tree3
device addressing
......SBus161
device methods
......block-size122
......decode-unit157
......dma-alloc158
......dma-free158, 237
......dma-map-in159
......dma-map-out159
......dma-sync160
......load122, 192
......map-in161
......map-out161
......max-transfer123
......probe-self160
......read123, 193, 237
......read-blocks123
......seek123
......write124, 193
......write-blocks124
device node
......browsing36
......creating withbegin-package34
......creating withend-package34
device property generation51
device_type95
device-end36
device-id9
devsel-speed9, 96
dloadingFCode image5
dma-alloc158
dma-free158, 237
dma-map-in159
dma-map-out159
dma-sync160
driver
.....and boot PROM1
.....function1

E

end02
end12
end-package35
execute-device-method41, 69
executing
.....methods63
execution token63
.....obtaining63
expansion FCode PROM access53

F

fakeboot5
fast-back-to-back9
FCode
...../w391
.....and ANS Forth11
.....binary format11
.....characteristics11
.....compile state12
.....defining words12
.....device identification2
.....in PROM1
.....interpret state12
.....interpretation2
.....interpreting34
.....one-byte20
.....programming style14 to 16
.....property-specific FCodes118
.....source format11
.....stack12
.....tokenizing12
.....two-byte20
.....valid program2
.....w!390
.....w,390
.....w@391
......words11
FCode programs32
......testing in source form42
FCode PROM
......body2
......end token2
......header2
......magic number2
......organization2
......size2
FCode source25 to 26
FCode types
......interface21
......local22
......primitives20
fcode-debug?24, 28
FCodes
......-260
......#257
......#>237, 238, 257
......#columns290
......#line348
......#lines348
......#out363
......#s374
......$call-method58, 60, 64, ?? to 69, 284
......$call-parent,?? to69285
......$find325
......$number361
......$open-package60, 65, 75, 362
......'258
......(258
......(cr293
......(is-user-word)342
......*259
......+259
......+!259
......+loop349
......,259
.......260
.......r367
.......s374
....../261
....../c283
...../l345
...../l*345
...../mod354
...../n358
...../w*391
.....<262
.....<#262
.....<=262
.....<>263
.....<w@391
.....=263
.....>263
.....>=263
.....>>a268
.....>body280
.....>font328
.....>r368
.....?dup304
.....@264
.....0265
.....0<265
.....0<=265
.....0<>265
.....0=266
.....0>266
.....0>=266
.....-1266
.....1266
.....2267
.....2!267
.....2*267
.....2/267
.....2@268
.....2drop303
.....2dup304
.....2over363
.....2rot372
.....2swap380
.....3268
.....abort268
.....abs269
.....alarm269
.....aligned271
.....alloc-mem271
.....and272
.....b(")272
......b(')272
......b(+loop)279
......b(:)272
......b(;)273
......b(<mark)279
......b(>resolve)280
......b(?do)276
......b(case)275
......b(constant)275
......b(create)275
......b(defer)275
......b(do)276
......b(endcase)277
......b(endof)277
......b(field)277
......b(leave)278
......b(lit)279
......b(loop)279
......b(of)280
......b(to)281
......b(value)281
......b(variable)281
......b?branch275
......base273
......bbranch274
......behavior276
......bell277
......between277
......bl277
......blink-screen278
......bljoin279
......body>279
......bounds280
......bs280
......bwjoin281, 282
......byte-load282
......c!282
......c,282
......c@283
......ca+283
......call-package64, 284
......catch286
......cell+288
......cells288
......char-height288
......chars288
.....char-width288
.....child289
.....close-package289
.....column#290
.....comp291
.....compile,291
.....count292
.....cpeek292
.....cpoke293
.....cr293
.....d-295
.....d+294
.....decode-int296
.....decode-phys296
.....decode-string296
.....default-font297
.....delete-characters299
.....delete-lines299
.....delete-property300
.....depth300
.....device-name300
.....diagnostic-mode?301
.....digit301
.....draw-character302
.....draw-logo303
.....drop303
.....dup304
.....emit304
.....encode+305
.....encode-bytes306
.....encode-int306
.....encode-phys306
.....encode-string307
.....end0307
.....end1307
.....erase-screen308
.....evaluate308
.....execute309
.....exit309
.....expect310
.....external-token311
.....fb1-blink-screen311
.....fb1-delete-lines312
.....fb1-draw-character312
.....fb1-draw-logo313
.....fb1-erase-screen313
......fb1-insert-characters313
......fb1-insert-lines314
......fb1-install314
......fb1-invert-screen315
......fb1-reset-screen316
......fb1-slide-up316
......fb1-toggle-cursor316
......fb8-blink-screen317
......fb8-delete-characters317
......fb8-delete-lines318
......fb8-draw-character318
......fb8-draw-logo318
......fb8-erase-screen319
......fb8-insert-characters319
......fb8-insert-lines319
......fb8-install320
......fb8-invert-screen321
......fb8-reset-screen321
......fb8-toggle-cursor321
......fcode-revision322
......ferror323
......fill325
......find-method63, ?? to 69, 326
......find-package64, 326
......finish-device36, 74, 327
......fontbytes328
......frame-buffer-adr329
......free-mem330
......free-virtual330
......get-inherited-property330
......get-msecs331
......get-my-property331
......get-package-property332
......get-token332
......here334
......hold334
......i335
......ihandle>phandle336
......insert-characters336
......insert-lines336
......instance62, 337
......inverse?337
......inverse-screen?338
......invert338
......invert-screen339
......is-install339
.....is-remove341
.....is-selftest342
.....j343
.....key343
.....key?344
.....l!344
.....l,344
.....l@344
.....la+345
.....la1+345
.....lbflip345
.....lbflips345
.....lbsplit346
.....lcc346
.....left-parse-string75, 347
.....line#348
.....lpeek350
.....lpoke350
.....lshift350
.....lwflip351
.....lwflips351
.....lwsplit351
.....mac-address351
.....map-low352
.....mask352
.....max353
.....memory-test-suite353
.....min353
.....mod353
.....model115, 354
.....move355
.....ms355
.....my-address356
.....my-args75, 356
.....my-parent357
.....my-self64, 357
.....my-space357
.....my-unit77, 358
.....na+358
.....named-token359
.....negate359
.....new-device59, 360
.....new-token360
.....next-property360
.....nip360
.....noop360
......off361
......on362
......open-package64, 75, 362
......or363
......over363
......pack363
......parse-2int364
......peer364
......pick365
......property115, 365
......r>367
......r@367
......rb!368
......rb@369
......reg369
......reset-screen370
......rl!371
......rl@371
......roll371
......-rot372
......rot372
......rshift372
......rw!372, 373
......rw@373
......sbus-intr>cpu374
......screen-height375
......screen-width375
......set-args75, 375
......set-font376
......set-token376
......sign377
......span377
......start0378
......start1378
......start2378
......start4379
......state379
......suspend-fcode379
......swap380
......throw380
......toggle-cursor381
......tuck383
......type383
......u#383
......u#>384
......u#s384
.....u.384
.....u.r387
.....u/mod386
.....u<384
.....u<=385
.....u>385
.....u>=385
.....u2/385
.....um*386
.....um/mod386
.....unloop386
.....upc387
.....user-abort388
.....version1389
.....w!391
.....wa+391
.....wa1+392
.....wbflip392
.....wbflips392
.....wbsplit392
.....window-left393
.....window-top394
.....within394
.....wljoin394
.....wpeek395
.....wpoke395
.....xor395, 397
find-device58
find-method63, ?? to 69, 326
find-package64, 326
finish-device36, 74, 327
fload26, 327
Forth
.....compile state12
.....interpret state12
.....programs33
.....stack12
.....tokenizing12
.....words11

G

get-inherited-property36
get-my-property36

H

height97

I

ihandle64
......avoiding confusion withphandle66
initialized data62
instance
......arguments74
......creation58
......package58, 58
......parameters74
instance62
instance chain59
instance-specific
......data62
......methods63
interpret57
interpret state12
interpreting FCode2, 34 to 36

L

left-parse-string75
linebytes98
loading/executing files
......Forth over serial port A33
local-mac-address100
ls36

M

mac-address100
map?44
map-in48, 161
map-out161
mapping
......packages77
max-frame-size101
max-latency9
methods
.....calling other package methods66
.....executing63
.....instance-specific63
.....package58
min-grant9
model102, 115
my-args75
my-self64
my-unit77

N

name102
new-device59
node
.....machine107
.....SBus107
.....SCSI107
NVRAM parameters
.....setting28
NVRAM variablefcode-debug?24
nvramrc77

O

open-dev60
$open-package60, 65, 66, 75, 362
open-package64, 75, 362
organizationally unique identifier19
OUI19

P

package57
.....deblocker81
.....TFTP80
package method
.....reset71, 72
.....selftest72
package methods
.....reset71, 72
/packages64, 65, 78
packages
.....accessing74
......active58
......addressing76
......and linking57
......data58, 61
......data definition73
......instance58
......instances58
......interface58
......mapping77
......methods58, 71
......plug-in57
......properties58
packaging PCI FCode23
PCI
......data structure5
......device configuration registeraccess8
......FCode PROM header format5
PCI expansion PROM
......data structure6
......header5
......header format6
pcia46
pcia-probe-list49
pcib46, 49
pcib-probe-list49
pcimsg?24
phandle332
......avoiding confusion withihandle66
phandles64
phys.hi7, 48
phys.hicell51
phys.lo7, 48
phys.mid7, 48
physical addresses, finding and using47
plug-in
......device drivers70
......package57
......PCI device physical address49
probe57
probemsg?24
probe-self160
probing sequence78
.....expansion bus29
.....modifying with NVRAM script29
programming style
.....FCode14 to 16
PROM
.....contents1
·properties36
properties
....."alternate-reg"92
....."assigned-addresses"92
....."big-endian-aperture"93
....."fast-back-to-back"97
....."has-fcode"97
.....#address-cells89
.....#size-cells89
.....address90
.....address-bits90
.....available92
.....block or byte device125
.....character-set93
.....compatible94
.....depth94
.....device_type95
.....devsel-speed96
.....display device86, 146
.....height97
.....linebytes98
.....list3
.....local-mac-address100
.....mac-address100
.....max-frame-size101
.....memory device87
.....model102
.....modifying from User Interface78
.....name3, 102, 359
.....network device87, 193
.....packages58
.....parent node87
.....ranges105
.....reg110, 358
.....serial device238
.....vendor-id115
.....width115
property
......creation85, 115
......decoding117
......encoding116
......modification115
......name83
......property value115
......ranges107
......reg107
......retrieval116
......standard names86
......value3, 83
......value array formats84
property115
pwd36

R

ranges105, 107
rb!368
rb@369
reg107, 110, 358, 369
reg property physical address format7, 8
reset71, 72
restricting system use25
reverse polish notation12
revision-id9
rl!371
rl@371
rw!372, 373
rw@373

S

SBus
......addressing161
......node107
SBus addressing161
SCSI
......node107
see36, 39
select-dev38 to 40, 60
selftest72
setfcode-verbose? fromNVRAMRC24
set-args75
show-devs36
size
.....FCode PROM2
size.hi7
size.lo7
#size-cells89
source format
.....FCode11
stack12
.....comments13, 16
.....operation13
standard methods
.....decode-unit63
standard support packages78
state379
static data62
subsystem-id9
subsystem-vendor-id9
Sun Ultra-1 UPA/PCI-related nodes46
system cache line size45
system flags and FCode debugging24

T

TFTP
.....support80
tokenizer33
.....description25
.....directives21
.....macros20
tokenizer directives
......(260
.....\264
.....]tokenizer382
.....alias270
.....decimal295
.....emit-byte305
.....external310
.....false311
.....fload26, 327
......headerless333
......headers333
......hex334
......offset16361
......tokenizer[382
tokenizer macros
......"256
......(.)258
......(u.)385
......."260
.......d295
.......h333
....../c*283
....../n*358
......:261
......;261
......<<262
......>>263
......?263
......?do302
......?leave347
......[']63, 264
......1-266
......1+266
......2-267
......2+267
......3drop304
......3dup304
......accept269
......again269
......allot271
......ascii272
......begin276
......blank278
......buffer:62, 281
......ca1+283
......carret285
......case285
......constant291
......control292
......create293
......d#294
......decimal295
......decode-bytes295
......defer62, 297
.....do302
.....else304
.....endcase307
.....endof308
.....erase308
.....eval308
.....fcode-version1322
.....fcode-version2323
.....field324
.....h#332
.....if335
.....leave346
.....linefeed348
.....loop349
.....na1+359
.....not360
.....of361
.....repeat370
.....s"373
.....s.374
.....space377
.....spaces377
.....struct379
.....then380
.....to381
.....true383
.....until387
.....value62, 388
.....variable62, 389
.....while393
tokenizing12

U

udf-supported9
unit-address358
unselect-dev40
unselect-device36
User Interface
.....*/259
.....*/mod354
.....[264
.....[compile]291
.....]265
.....apply69
......begin-package75
......browsing device nodes36
............·properties36
............dev36
............device-end36
............get-inherited-property36
............get-my-property36
............ls36
............pwd36
............see36
............show-devs36
............words36
......byte-load35
......command line editor30
......dev58
......end-package35
......execute-device-method69
......find-device58
......interpreting FCode34 to 36
......modifying properties78
......nvramrc77
......open-dev60
......s"373
......testing a device driver38 to 42
............begin-select-dev40
............execute-device-method41
............patch40
............see39
............select-dev38
............unselect-dev40
......unselect-device36

V

value
......of property115
......property3
value62
variable62
variablefcode-debug?24
vendor-id8, 115
Vital Product Data7, 53

W

width115
words
.....FCode11
.....Forth11
words36

X

xxx clip-num50