Annotation of qemu/roms/SLOF/board-js2x/slof/pci-aliases.fs, revision 1.1.1.1

1.1       root        1: \ *****************************************************************************
                      2: \ * Copyright (c) 2004, 2008 IBM Corporation
                      3: \ * All rights reserved.
                      4: \ * This program and the accompanying materials
                      5: \ * are made available under the terms of the BSD License
                      6: \ * which accompanies this distribution, and is available at
                      7: \ * http://www.opensource.org/licenses/bsd-license.php
                      8: \ *
                      9: \ * Contributors:
                     10: \ *     IBM Corporation - initial implementation
                     11: \ ****************************************************************************/
                     12: 
                     13: \ Starting alias number for net devices after the onboard devices.
                     14: 2 VALUE pci-net-num
                     15: \ Starting alias number for disks after the onboard devices.
                     16: 0 VALUE pci-disk-num
                     17: \ Starting alias number for cdroms after the onboard devices.
                     18: 0 VALUE pci-cdrom-num
                     19: 
                     20: \ define a new alias for this device
                     21: : pci-set-alias ( str-addr str-len num -- )
                     22:         $cathex strdup       \ create alias name
                     23:         get-node node>path   \ get path string
                     24:         set-alias            \ and set the alias
                     25: ;
                     26: 
                     27: \ define a new net alias
                     28: : unknown-enet ( -- pci-net-num )
                     29:        pci-net-num dup 1+ TO pci-net-num
                     30: ;
                     31: : pci-alias-net ( config-addr -- )
                     32:        u3? IF
                     33:                pci-device-vec c@ CASE 
                     34:                2 OF pci-device-vec-len 1 >= IF  
                     35:                                        pci-device-vec 1+ c@ CASE 
                     36:                                                1 OF dup pci-addr2fn 1 >= IF 1 ELSE 0 THEN  ENDOF 
                     37:                                                dup OF  unknown-enet ENDOF
                     38:                                        ENDCASE
                     39:                                ELSE
                     40:                                        unknown-enet
                     41:                                THEN
                     42:                        ENDOF
                     43:                        dup OF unknown-enet  ENDOF      
                     44:                ENDCASE
                     45:        ELSE
                     46:                pci-device-vec c@ CASE 
                     47:                2 OF pci-device-vec-len 1 >= IF  
                     48:                                        pci-device-vec 1+ c@ CASE 
                     49:                                                4 OF dup pci-addr2fn 1 >= IF 1 ELSE 0 THEN  ENDOF 
                     50:                                                dup OF  unknown-enet ENDOF
                     51:                                        ENDCASE
                     52:                                ELSE
                     53:                                        unknown-enet
                     54:                                THEN
                     55:                        ENDOF
                     56:                        dup OF unknown-enet  ENDOF      
                     57:                ENDCASE
                     58:        THEN
                     59:        swap drop                               \ forget the config address
                     60: 
                     61:         s" net" rot pci-set-alias              \ create the alias
                     62: ;
                     63: 
                     64: \ define a new disk alias
                     65: : pci-alias-disk ( config-addr -- )
                     66:         drop                                    \ forget the config address
                     67:         pci-disk-num dup 1+ TO pci-disk-num     \ increase the pci-disk-num
                     68:         s" disk" rot pci-set-alias              \ create the alias
                     69: ;
                     70: \ define a new cdrom alias
                     71: : pci-alias-cdrom ( config-addr -- )
                     72:         drop                                    \ forget the config address
                     73:         pci-cdrom-num dup 1+ TO pci-cdrom-num     \ increase the pci-cdrom-num
                     74:         s" cdrom" rot pci-set-alias              \ create the alias
                     75: ;
                     76: 
                     77: \ define the alias for the calling device
                     78: : pci-alias ( config-addr -- )
                     79:         dup pci-class@ 
                     80:         10 rshift CASE
                     81:                 01 OF   pci-alias-disk ENDOF
                     82:                 02 OF   pci-alias-net  ENDOF
                     83:                dup OF   drop           ENDOF
                     84:         ENDCASE
                     85: ;

unix.superglobalmegacorp.com

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