Annotation of qemu/roms/openbios/arch/ppc/briq/tree.fs, revision 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.