~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/SLOF/board-js2x/slof/pci-aliases.fs

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
;