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
10
\ * IBM Corporation - initial implementation
11
\ ****************************************************************************/
13
\ Starting alias number for net devices after the onboard devices.
15
\ Starting alias number for disks after the onboard devices.
17
\ Starting alias number for cdroms after the onboard devices.
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
27
\ define a new net alias
28
: unknown-enet ( -- pci-net-num )
29
pci-net-num dup 1+ TO pci-net-num
31
: pci-alias-net ( config-addr -- )
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
43
dup OF unknown-enet ENDOF
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
56
dup OF unknown-enet ENDOF
59
swap drop \ forget the config address
61
s" net" rot pci-set-alias \ create the alias
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
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
77
\ define the alias for the calling device
78
: pci-alias ( config-addr -- )
81
01 OF pci-alias-disk ENDOF
82
02 OF pci-alias-net ENDOF