Annotation of qemu/roms/openbios/arch/ppc/briq/tree.fs, revision 1.1.1.1

1.1       root        1: \   briq specific initialization code
                      2: \ 
                      3: \   Copyright (C) 2004 Greg Watson
                      4: \ 
                      5: \   This program is free software; you can redistribute it and/or
                      6: \   modify it under the terms of the GNU General Public License
                      7: \   as published by the Free Software Foundation
                      8: \ 
                      9: 
                     10: \ -------------------------------------------------------------
                     11: \ device-tree
                     12: \ -------------------------------------------------------------
                     13: 
                     14: " /" find-device
                     15: 
                     16: " chrp" device-type
                     17: " TotalImpact,BRIQ-1" model
                     18: h# 80000000 encode-int " isa-io-base" property
                     19: 1 encode-int " #interrupt-cells" property
                     20: 1 encode-int " #size-cells" property
                     21: 
                     22: new-device
                     23:        " memory" device-name
                     24:        " memory" device-type
                     25:        0 encode-int h# 1E00000 encode-int encode+
                     26:        h# 2000000 encode-int encode+ h# 40000000 encode-int encode+ 
                     27:          " available" property
                     28:        0 h# 40000000 reg
                     29:        external
                     30:        : open true ;
                     31:        : close ;
                     32: finish-device
                     33: 
                     34: new-device
                     35:        " cpu" device-name
                     36:        " cpu" device-type
                     37:        " " encode-string " translations" property
                     38:        0 encode-phys h# 8000000 encode-int encode+ " available" property
                     39:        d# 32 encode-int " d-cache-block-size" property
                     40:        8 encode-int " d-cache-sets" property
                     41:        d# 32768 encode-int " d-cache-size" property
                     42:        d# 32 encode-int " i-cache-block-size" property
                     43:        8 encode-int " i-cache-sets" property
                     44:        d# 32768 encode-int " i-cache-size" property
                     45:        " " encode-string " cache-unified" property
                     46:        2 encode-int " i-tlb-sets" property
                     47:        d# 128 encode-int " i-tlb-size" property
                     48:        2 encode-int " d-tlb-sets" property
                     49:        d# 128 encode-int " d-tlb-size" property
                     50:        " " encode-string " tlb-split" property
                     51:        2 encode-int " tlb-sets" property
                     52:        d# 256 encode-int " tlb-size" property
                     53:        " " encode-string " performance-monitor" property
                     54:        " " encode-string " graphics" property
                     55:        4 encode-int " reservation-granule-size" property
                     56:         d# 25000000 encode-int " timebase-frequency" property
                     57:         d# 300000000 encode-int " clock-frequency" property
                     58:         d# 66000000 encode-int " bus-frequency" property
                     59:         h# 88201 encode-int " cpu-version" property
                     60:        0 encode-int " reg" property
                     61: finish-device
                     62: 
                     63: " /pci" find-device
                     64:        h# 01000000 encode-int 0 encode-int encode+ 0 encode-int encode+
                     65:          h# 80000000 encode-int encode+ 0 encode-int encode+ 
                     66:          h# 01000000 encode-int encode+ 
                     67:        h# 02000000 encode-int encode+ 0 encode-int encode+ 0 encode-int encode+ 
                     68:          h# C0000000 encode-int encode+ 0 encode-int encode+ 
                     69:          h# 08000000 encode-int encode+ 
                     70:        " ranges" property
                     71:        " IBM,CPC710" model
                     72:        h# FF5F7700 encode-int " 8259-interrupt-acknowledge" property
                     73:        h# 0000F800 encode-int 0 encode-int encode+ 0 encode-int encode+ 
                     74:          7 encode-int encode+
                     75:          " interrupt-map-mask" property
                     76:        1 encode-int " #interrupt-cells" property
                     77:        h# 80000000 encode-int " system-dma-base" property
                     78:        d# 33333333 encode-int " clock-frequency" property
                     79:        " " encode-string " primary-bridge" property
                     80:        0 encode-int " pci-bridge-number" property
                     81:        h# FF500000 encode-int h# 100000 encode-int encode+ " reg" property
                     82:        0 encode-int 0 encode-int encode+ " bus-range" property
                     83: 
                     84: new-device
                     85:   " isa" device-name
                     86:   " isa" device-type
                     87:        2 encode-int " #address-cells" property
                     88:        1 encode-int " #size-cells" property
                     89: 
                     90:   external
                     91:   : open true ;
                     92:   : close ;
                     93: 
                     94: finish-device
                     95: 
                     96: : ?devalias ( alias-str alias-len device-str device-len --
                     97:   \            alias-str alias-len false | true )
                     98:   active-package >r
                     99:   " /aliases" find-device
                    100:   \ 2dup ." Checking " type
                    101:   2dup find-dev if     \ check if device exists
                    102:     drop
                    103:     2over find-dev if  \ do we already have an alias?
                    104:       \ ." alias exists" cr
                    105:       drop 2drop false
                    106:     else
                    107:       \ ." device exists" cr
                    108:       encode-string
                    109:       2swap property
                    110:       true
                    111:     then
                    112:   else
                    113:     \ ." device doesn't exist" cr
                    114:     2drop false
                    115:   then
                    116:   r> active-package!
                    117:   ;
                    118: 
                    119: :noname
                    120:   " hd"
                    121:   " /pci/pci-ata/ata-1/disk@0" ?devalias not if
                    122:     " /pci/pci-ata/ata-1/disk@1" ?devalias not if
                    123:       " /pci/pci-ata/ata-2/disk@0" ?devalias not if
                    124:         " /pci/pci-ata/ata-2/disk@1" ?devalias not if
                    125:          2drop ." No disk found." cr
                    126:        then
                    127:       then
                    128:     then
                    129:   then
                    130: 
                    131:   " cdrom"
                    132:   " /pci/pci-ata/ata-1/cdrom@0" ?devalias not if
                    133:     " /pci/pci-ata/ata-1/cdrom@1" ?devalias not if
                    134:       " /pci/pci-ata/ata-2/cdrom@0" ?devalias not if
                    135:         " /pci/pci-ata/ata-2/cdrom@1" ?devalias not if
                    136:          2drop ." No cdrom found" cr
                    137:        then
                    138:       then
                    139:     then
                    140:   then
                    141: ; SYSTEM-initializer
                    142: 
                    143: new-device
                    144:        " ide" device-name
                    145:        " ide" device-type
                    146:        " WINBOND,82C553" model
                    147:        h# 28 encode-int " max-latency" property
                    148:        h# 2 encode-int " min-grant" property
                    149:        h# 1 encode-int " devsel-speed" property
                    150:        h# 0 encode-int " subsystem-vendor-id" property
                    151:        h# 0 encode-int " subsystem-id" property
                    152:        h# 1018A encode-int " class-code" property
                    153:        h# 5 encode-int " revision-id" property
                    154:        h# 105 encode-int " device-id" property
                    155:        h# 10AD encode-int " vendor-id" property
                    156:        h# 1003110 encode-int 0 encode-int encode+ h# 10020 encode-int encode+
                    157:          h# 10 encode-int encode+ 0 encode-int encode+
                    158:          h# 1003114 encode-int 0 encode-int encode+ h# 10030 encode-int encode+
                    159:          h# 4 encode-int encode+ 0 encode-int encode+
                    160:          h# 1003118 encode-int 0 encode-int encode+ h# 10040 encode-int encode+
                    161:          h# 10 encode-int encode+ 0 encode-int encode+
                    162:          h# 100311C encode-int 0 encode-int encode+ h# 10034 encode-int encode+
                    163:          h# 4 encode-int encode+ 0 encode-int encode+
                    164:          h# 1003120 encode-int 0 encode-int encode+ h# 10050 encode-int encode+
                    165:          h# 10 encode-int encode+ 0 encode-int encode+
                    166:          h# 1003124 encode-int 0 encode-int encode+ h# 10060 encode-int encode+
                    167:          h# 10 encode-int encode+ 0 encode-int encode+
                    168:          " assigned-addresses" property
                    169:        h# 3100 encode-int 0 encode-int encode+ 0 encode-int encode+
                    170:          0 encode-int encode+ 0 encode-int encode+
                    171:          h# 1003110 encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    172:          h# 10 encode-int encode+ 0 encode-int encode+
                    173:          h# 1003114 encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    174:          h# 4 encode-int encode+ 0 encode-int encode+
                    175:          h# 1003118 encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    176:          h# 10 encode-int encode+ 0 encode-int encode+
                    177:          h# 100311C encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    178:          h# 4 encode-int encode+ 0 encode-int encode+
                    179:          h# 1003120 encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    180:          h# 10 encode-int encode+ 0 encode-int encode+
                    181:          h# 1003124 encode-int 0 encode-int encode+ h# 0 encode-int encode+
                    182:          h# 10 encode-int encode+ 0 encode-int encode+
                    183:          " reg" property
                    184: finish-device
                    185: 
                    186: new-device
                    187:        " ethernet" device-name
                    188:        " network" device-type
                    189:        " AMD,79C973" model
                    190:        h# 3800 encode-int 0 encode-int encode+ 0 encode-int encode+
                    191:          0 encode-int encode+ 0 encode-int encode+
                    192:          " reg" property
                    193: finish-device
                    194: 
                    195: " /pci/isa" find-device
                    196:        0 0 " assigned-addresses" property
                    197:        0 0 " ranges" property
                    198:        0 encode-int " slot-names" property
                    199:        d# 8333333 encode-int " clock-frequency" property
                    200:        0 encode-int " eisa-slots" property
                    201:        2 encode-int " #interrupt-cells" property
                    202:        " W83C553F" encode-string " compatible" property
                    203:        " WINBOND,82C553" model
                    204:        0 encode-int " max-latency" property
                    205:        0 encode-int " min-grant" property
                    206:        1 encode-int " devsel-speed" property
                    207:        0 encode-int " subsystem-vendor-id" property
                    208:        0 encode-int " subsystem-id" property
                    209:        h# 60100 encode-int " class-code" property
                    210:        h# 10 encode-int " revision-id" property
                    211:        h# 565 encode-int " device-id" property
                    212:        h# 10AD encode-int " vendor-id" property
                    213:        h# 3000 encode-int 0 encode-int encode+ 0 encode-int encode+
                    214:          0 encode-int encode+ 0 encode-int encode+ " reg" property
                    215: 
                    216: new-device
                    217:        " rtc" device-name
                    218:        " rtc" device-type
                    219:        " DS17285S" model
                    220:        " MC146818" encode-string
                    221:        " DS17285S" encode-string encode+
                    222:        " pnpPNP,b00" encode-string encode+ " compatible" property
                    223:        8 encode-int 0 encode-int encode+ " interrupts" property
                    224:        h# 70 encode-int 1 encode-int encode+
                    225:          2 encode-int encode+ " reg" property
                    226: finish-device
                    227: 
                    228: new-device
                    229:        " interrupt-controller" device-name
                    230:        " interrupt-controller" device-type
                    231:        " 8259" model
                    232:        " " encode-string " interrupt-controller" property
                    233:        2 encode-int " #interrupt-cells" property
                    234:        1 encode-int 
                    235:        2 encode-int encode+
                    236:        3 encode-int encode+
                    237:        6 encode-int encode+
                    238:          " reserved-interrupts" property
                    239:        " 8259" encode-string
                    240:          " chrp,iic" encode-string encode+ 
                    241:          " compatible" property
                    242:        h# 20 encode-int 1 encode-int encode+
                    243:          2 encode-int encode+ " reg" property
                    244: finish-device
                    245: 
                    246: new-device
                    247:        " serial" device-name
                    248:        " serial" device-type
                    249:        " no" encode-string " ctsrts" property
                    250:        " no" encode-string " xon" property
                    251:        " no" encode-string " parity" property
                    252:        d# 115200 encode-int " bps" property
                    253:        1 encode-int " stop-bits" property
                    254:        8 encode-int " data-bits" property
                    255:        h# 70800 encode-int " divisor" property
                    256:        h# 708000 encode-int " clock-frequency" property
                    257:        4 encode-int 0 encode-int encode+ " interrupts" property
                    258:        h# 3F8 encode-int 1 encode-int encode+
                    259:          8 encode-int encode+ " reg" property
                    260: finish-device
                    261: 
                    262: " /pci" find-device
                    263:        " /pci/isa/interrupt-controller" find-dev if 
                    264:                encode-int " interrupt-parent" property 
                    265:        then
                    266:        h# 3800 encode-int 0 encode-int encode+ 
                    267:          0 encode-int encode+ 1 encode-int encode+
                    268:          " /pci/isa/interrupt-controller" find-dev if 
                    269:                encode-int encode+
                    270:          then
                    271:          h# 0C encode-int encode+ 1 encode-int encode+
                    272:          " interrupt-map" property
                    273: 
                    274: " /pci/isa" find-device
                    275:        " /pci/isa/interrupt-controller" find-dev if 
                    276:                encode-int " interrupt-parent" property 
                    277:        then
                    278: 
                    279: \ -------------------------------------------------------------
                    280: \ /packages
                    281: \ -------------------------------------------------------------
                    282: 
                    283: " /packages" find-device
                    284: 
                    285:        " packages" device-name
                    286:        external
                    287:        \ allow packages to be opened with open-dev
                    288:        : open true ;
                    289:        : close ;
                    290: 
                    291: \ /packages/terminal-emulator
                    292: new-device
                    293:        " terminal-emulator" device-name
                    294:        external
                    295:        : open true ;
                    296:        : close ;
                    297:        \ : write ( addr len -- actual )
                    298:        \       dup -rot type
                    299:        \ ;
                    300: finish-device
                    301: 
                    302: \ -------------------------------------------------------------
                    303: \ The END
                    304: \ -------------------------------------------------------------
                    305: device-end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.