Annotation of qemu/roms/SLOF/board-js2x/slof/pci-aliases.fs, revision 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.