aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/lguest/lguest.c17
-rw-r--r--Documentation/networking/00-INDEX10
-rw-r--r--Documentation/networking/3c505.txt3
-rw-r--r--Documentation/networking/Configurable34
-rw-r--r--Documentation/networking/comx.txt248
-rw-r--r--Documentation/networking/ncsa-telnet16
-rw-r--r--Documentation/networking/pt.txt58
-rw-r--r--Documentation/networking/routing.txt46
-rw-r--r--Documentation/networking/slicecom.hun371
-rw-r--r--Documentation/networking/slicecom.txt369
-rw-r--r--Documentation/powerpc/booting-without-of.txt275
11 files changed, 283 insertions, 1164 deletions
diff --git a/Documentation/lguest/lguest.c b/Documentation/lguest/lguest.c
index f2668390e8f7..42008395534d 100644
--- a/Documentation/lguest/lguest.c
+++ b/Documentation/lguest/lguest.c
@@ -62,8 +62,8 @@ typedef uint8_t u8;
62#endif 62#endif
63/* We can have up to 256 pages for devices. */ 63/* We can have up to 256 pages for devices. */
64#define DEVICE_PAGES 256 64#define DEVICE_PAGES 256
65/* This fits nicely in a single 4096-byte page. */ 65/* This will occupy 2 pages: it must be a power of 2. */
66#define VIRTQUEUE_NUM 127 66#define VIRTQUEUE_NUM 128
67 67
68/*L:120 verbose is both a global flag and a macro. The C preprocessor allows 68/*L:120 verbose is both a global flag and a macro. The C preprocessor allows
69 * this, and although I wouldn't recommend it, it works quite nicely here. */ 69 * this, and although I wouldn't recommend it, it works quite nicely here. */
@@ -1036,7 +1036,8 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
1036 void *p; 1036 void *p;
1037 1037
1038 /* First we need some pages for this virtqueue. */ 1038 /* First we need some pages for this virtqueue. */
1039 pages = (vring_size(num_descs) + getpagesize() - 1) / getpagesize(); 1039 pages = (vring_size(num_descs, getpagesize()) + getpagesize() - 1)
1040 / getpagesize();
1040 p = get_pages(pages); 1041 p = get_pages(pages);
1041 1042
1042 /* Initialize the configuration. */ 1043 /* Initialize the configuration. */
@@ -1045,7 +1046,7 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
1045 vq->config.pfn = to_guest_phys(p) / getpagesize(); 1046 vq->config.pfn = to_guest_phys(p) / getpagesize();
1046 1047
1047 /* Initialize the vring. */ 1048 /* Initialize the vring. */
1048 vring_init(&vq->vring, num_descs, p); 1049 vring_init(&vq->vring, num_descs, p, getpagesize());
1049 1050
1050 /* Add the configuration information to this device's descriptor. */ 1051 /* Add the configuration information to this device's descriptor. */
1051 add_desc_field(dev, VIRTIO_CONFIG_F_VIRTQUEUE, 1052 add_desc_field(dev, VIRTIO_CONFIG_F_VIRTQUEUE,
@@ -1342,7 +1343,7 @@ static bool service_io(struct device *dev)
1342 if (out->type & VIRTIO_BLK_T_SCSI_CMD) { 1343 if (out->type & VIRTIO_BLK_T_SCSI_CMD) {
1343 fprintf(stderr, "Scsi commands unsupported\n"); 1344 fprintf(stderr, "Scsi commands unsupported\n");
1344 in->status = VIRTIO_BLK_S_UNSUPP; 1345 in->status = VIRTIO_BLK_S_UNSUPP;
1345 wlen = sizeof(in); 1346 wlen = sizeof(*in);
1346 } else if (out->type & VIRTIO_BLK_T_OUT) { 1347 } else if (out->type & VIRTIO_BLK_T_OUT) {
1347 /* Write */ 1348 /* Write */
1348 1349
@@ -1363,7 +1364,7 @@ static bool service_io(struct device *dev)
1363 /* Die, bad Guest, die. */ 1364 /* Die, bad Guest, die. */
1364 errx(1, "Write past end %llu+%u", off, ret); 1365 errx(1, "Write past end %llu+%u", off, ret);
1365 } 1366 }
1366 wlen = sizeof(in); 1367 wlen = sizeof(*in);
1367 in->status = (ret >= 0 ? VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR); 1368 in->status = (ret >= 0 ? VIRTIO_BLK_S_OK : VIRTIO_BLK_S_IOERR);
1368 } else { 1369 } else {
1369 /* Read */ 1370 /* Read */
@@ -1376,10 +1377,10 @@ static bool service_io(struct device *dev)
1376 ret = readv(vblk->fd, iov+1, in_num-1); 1377 ret = readv(vblk->fd, iov+1, in_num-1);
1377 verbose("READ from sector %llu: %i\n", out->sector, ret); 1378 verbose("READ from sector %llu: %i\n", out->sector, ret);
1378 if (ret >= 0) { 1379 if (ret >= 0) {
1379 wlen = sizeof(in) + ret; 1380 wlen = sizeof(*in) + ret;
1380 in->status = VIRTIO_BLK_S_OK; 1381 in->status = VIRTIO_BLK_S_OK;
1381 } else { 1382 } else {
1382 wlen = sizeof(in); 1383 wlen = sizeof(*in);
1383 in->status = VIRTIO_BLK_S_IOERR; 1384 in->status = VIRTIO_BLK_S_IOERR;
1384 } 1385 }
1385 } 1386 }
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index f5a5e6d3d541..563e442f2d42 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -4,8 +4,6 @@
4 - information on the 3Com EtherLink Plus (3c505) driver. 4 - information on the 3Com EtherLink Plus (3c505) driver.
56pack.txt 56pack.txt
6 - info on the 6pack protocol, an alternative to KISS for AX.25 6 - info on the 6pack protocol, an alternative to KISS for AX.25
7Configurable
8 - info on some of the configurable network parameters
9DLINK.txt 7DLINK.txt
10 - info on the D-Link DE-600/DE-620 parallel port pocket adapters 8 - info on the D-Link DE-600/DE-620 parallel port pocket adapters
11PLIP.txt 9PLIP.txt
@@ -26,8 +24,6 @@ baycom.txt
26 - info on the driver for Baycom style amateur radio modems 24 - info on the driver for Baycom style amateur radio modems
27bridge.txt 25bridge.txt
28 - where to get user space programs for ethernet bridging with Linux. 26 - where to get user space programs for ethernet bridging with Linux.
29comx.txt
30 - info on drivers for COMX line of synchronous serial adapters.
31cops.txt 27cops.txt
32 - info on the COPS LocalTalk Linux driver 28 - info on the COPS LocalTalk Linux driver
33cs89x0.txt 29cs89x0.txt
@@ -78,20 +74,14 @@ ltpc.txt
78 - the Apple or Farallon LocalTalk PC card driver 74 - the Apple or Farallon LocalTalk PC card driver
79multicast.txt 75multicast.txt
80 - Behaviour of cards under Multicast 76 - Behaviour of cards under Multicast
81ncsa-telnet
82 - notes on how NCSA telnet (DOS) breaks with MTU discovery enabled.
83netdevices.txt 77netdevices.txt
84 - info on network device driver functions exported to the kernel. 78 - info on network device driver functions exported to the kernel.
85olympic.txt 79olympic.txt
86 - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info. 80 - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info.
87policy-routing.txt 81policy-routing.txt
88 - IP policy-based routing 82 - IP policy-based routing
89pt.txt
90 - the Gracilis Packetwin AX.25 device driver
91ray_cs.txt 83ray_cs.txt
92 - Raylink Wireless LAN card driver info. 84 - Raylink Wireless LAN card driver info.
93routing.txt
94 - the new routing mechanism
95shaper.txt 85shaper.txt
96 - info on the module that can shape/limit transmitted traffic. 86 - info on the module that can shape/limit transmitted traffic.
97sk98lin.txt 87sk98lin.txt
diff --git a/Documentation/networking/3c505.txt b/Documentation/networking/3c505.txt
index b9d5b7230118..72f38b13101d 100644
--- a/Documentation/networking/3c505.txt
+++ b/Documentation/networking/3c505.txt
@@ -14,8 +14,7 @@ If no base address is given at boot time, the driver will autoprobe
14ports 0x300, 0x280 and 0x310 (in that order). If no IRQ is given, the driver 14ports 0x300, 0x280 and 0x310 (in that order). If no IRQ is given, the driver
15will try to probe for it. 15will try to probe for it.
16 16
17The driver can be used as a loadable module. See net-modules.txt for details 17The driver can be used as a loadable module.
18of the parameters it can take.
19 18
20Theoretically, one instance of the driver can now run multiple cards, 19Theoretically, one instance of the driver can now run multiple cards,
21in the standard way (when loading a module, say "modprobe 3c505 20in the standard way (when loading a module, say "modprobe 3c505
diff --git a/Documentation/networking/Configurable b/Documentation/networking/Configurable
deleted file mode 100644
index 69c0dd466ead..000000000000
--- a/Documentation/networking/Configurable
+++ /dev/null
@@ -1,34 +0,0 @@
1
2There are a few network parameters that can be tuned to better match
3the kernel to your system hardware and intended usage. The defaults
4are usually a good choice for 99% of the people 99% of the time, but
5you should be aware they do exist and can be changed.
6
7The current list of parameters can be found in the files:
8
9 linux/net/TUNABLE
10 Documentation/networking/ip-sysctl.txt
11
12Some of these are accessible via the sysctl interface, and many more are
13scheduled to be added in this way. For example, some parameters related
14to Address Resolution Protocol (ARP) are very easily viewed and altered.
15
16 # cat /proc/sys/net/ipv4/arp_timeout
17 6000
18 # echo 7000 > /proc/sys/net/ipv4/arp_timeout
19 # cat /proc/sys/net/ipv4/arp_timeout
20 7000
21
22Others are already accessible via the related user space programs.
23For example, MAX_WINDOW has a default of 32 k which is a good choice for
24modern hardware, but if you have a slow (8 bit) Ethernet card and/or a slow
25machine, then this will be far too big for the card to keep up with fast
26machines transmitting on the same net, resulting in overruns and receive errors.
27A value of about 4 k would be more appropriate, which can be set via:
28
29 # route add -net 192.168.3.0 window 4096
30
31The remainder of these can only be presently changed by altering a #define
32in the related header file. This means an edit and recompile cycle.
33
34 Paul Gortmaker 06/96
diff --git a/Documentation/networking/comx.txt b/Documentation/networking/comx.txt
deleted file mode 100644
index d1526eba2645..000000000000
--- a/Documentation/networking/comx.txt
+++ /dev/null
@@ -1,248 +0,0 @@
1
2 COMX drivers for the 2.2 kernel
3
4Originally written by: Tivadar Szemethy, <tiv@itc.hu>
5Currently maintained by: Gergely Madarasz <gorgo@itc.hu>
6
7Last change: 21/06/1999.
8
9INTRODUCTION
10
11This document describes the software drivers and their use for the
12COMX line of synchronous serial adapters for Linux version 2.2.0 and
13above.
14The cards are produced and sold by ITC-Pro Ltd. Budapest, Hungary
15For further info contact <info@itc.hu>
16or http://www.itc.hu (mostly in Hungarian).
17The firmware files and software are available from ftp://ftp.itc.hu
18
19Currently, the drivers support the following cards and protocols:
20
21COMX (2x64 kbps intelligent board)
22CMX (1x256 + 1x128 kbps intelligent board)
23HiCOMX (2x2Mbps intelligent board)
24LoCOMX (1x512 kbps passive board)
25MixCOM (1x512 or 2x512kbps passive board with a hardware watchdog an
26 optional BRI interface and optional flashROM (1-32M))
27SliceCOM (1x2Mbps channelized E1 board)
28PciCOM (X21)
29
30At the moment of writing this document, the (Cisco)-HDLC, LAPB, SyncPPP and
31Frame Relay (DTE, rfc1294 IP encapsulation with partially implemented Q933a
32LMI) protocols are available as link-level protocol.
33X.25 support is being worked on.
34
35USAGE
36
37Load the comx.o module and the hardware-specific and protocol-specific
38modules you'll need into the running kernel using the insmod utility.
39This creates the /proc/comx directory.
40See the example scripts in the 'etc' directory.
41
42/proc INTERFACE INTRO
43
44The COMX driver set has a new type of user interface based on the /proc
45filesystem which eliminates the need for external user-land software doing
46IOCTL calls.
47Each network interface or device (i.e. those ones you configure with 'ifconfig'
48and 'route' etc.) has a corresponding directory under /proc/comx. You can
49dynamically create a new interface by saying 'mkdir /proc/comx/comx0' (or you
50can name it whatever you want up to 8 characters long, comx[n] is just a
51convention).
52Generally the files contained in these directories are text files, which can
53be viewed by 'cat filename' and you can write a string to such a file by
54saying 'echo _string_ >filename'. This is very similar to the sysctl interface.
55Don't use a text editor to edit these files, always use 'echo' (or 'cat'
56where appropriate).
57When you've created the comx[n] directory, two files are created automagically
58in it: 'boardtype' and 'protocol'. You have to fill in these files correctly
59for your board and protocol you intend to use (see the board and protocol
60descriptions in this file below or the example scripts in the 'etc' directory).
61After filling in these files, other files will appear in the directory for
62setting the various hardware- and protocol-related informations (for example
63irq and io addresses, keepalive values etc.) These files are set to default
64values upon creation, so you don't necessarily have to change all of them.
65
66When you're ready with filling in the files in the comx[n] directory, you can
67configure the corresponding network interface with the standard network
68configuration utilities. If you're unable to bring the interfaces up, look up
69the various kernel log files on your system, and consult the messages for
70a probable reason.
71
72EXAMPLE
73
74To create the interface 'comx0' which is the first channel of a COMX card:
75
76insmod comx
77# insmod comx-hw-comx ; insmod comx-proto-ppp (these are usually
78autoloaded if you use the kernel module loader)
79
80mkdir /proc/comx/comx0
81echo comx >/proc/comx/comx0/boardtype
82echo 0x360 >/proc/comx/comx0/io <- jumper-selectable I/O port
83echo 0x0a >/proc/comx/comx0/irq <- jumper-selectable IRQ line
84echo 0xd000 >/proc/comx/comx0/memaddr <- software-configurable memory
85 address. COMX uses 64 KB, and this
86 can be: 0xa000, 0xb000, 0xc000,
87 0xd000, 0xe000. Avoid conflicts
88 with other hardware.
89cat </etc/siol1.rom >/proc/comx/comx0/firmware <- the firmware for the card
90echo HDLC >/proc/comx/comx0/protocol <- the data-link protocol
91echo 10 >/proc/comx/comx0/keepalive <- the keepalive for the protocol
92ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255 <-
93 finally configure it with ifconfig
94Check its status:
95cat /proc/comx/comx0/status
96
97If you want to use the second channel of this board:
98
99mkdir /proc/comx/comx1
100echo comx >/proc/comx/comx1/boardtype
101echo 0x360 >/proc/comx/comx1/io
102echo 10 >/proc/comx/comx1/irq
103echo 0xd000 >/proc/comx/comx1/memaddr
104echo 1 >/proc/comx/comx1/channel <- channels are numbered
105 as 0 (default) and 1
106
107Now, check if the driver recognized that you're going to use the other
108channel of the same adapter:
109
110cat /proc/comx/comx0/twin
111comx1
112cat /proc/comx/comx1/twin
113comx0
114
115You don't have to load the firmware twice, if you use both channels of
116an adapter, just write it into the channel 0's /proc firmware file.
117
118Default values: io 0x360 for COMX, 0x320 (HICOMX), irq 10, memaddr 0xd0000
119
120THE LOCOMX HARDWARE DRIVER
121
122The LoCOMX driver doesn't require firmware, and it doesn't use memory either,
123but it uses DMA channels 1 and 3. You can set the clock rate (if enabled by
124jumpers on the board) by writing the kbps value into the file named 'clock'.
125Set it to 'external' (it is the default) if you have external clock source.
126
127(Note: currently the LoCOMX driver does not support the internal clock)
128
129THE COMX, CMX AND HICOMX DRIVERS
130
131On the HICOMX, COMX and CMX, you have to load the firmware (it is different for
132the three cards!). All these adapters can share the same memory
133address (we usually use 0xd0000). On the CMX you can set the internal
134clock rate (if enabled by jumpers on the small adapter boards) by writing
135the kbps value into the 'clock' file. You have to do this before initializing
136the card. If you use both HICOMX and CMX/COMX cards, initialize the HICOMX
137first. The I/O address of the HICOMX board is not configurable by any
138method available to the user: it is hardwired to 0x320, and if you have to
139change it, consult ITC-Pro Ltd.
140
141THE MIXCOM DRIVER
142
143The MixCOM board doesn't require firmware, the driver communicates with
144it through I/O ports. You can have three of these cards in one machine.
145
146THE SLICECOM DRIVER
147
148The SliceCOM board doesn't require firmware. You can have 4 of these cards
149in one machine. The driver doesn't (yet) support shared interrupts, so
150you will need a separate IRQ line for every board.
151Read Documentation/networking/slicecom.txt for help on configuring
152this adapter.
153
154THE HDLC/PPP LINE PROTOCOL DRIVER
155
156The HDLC/SyncPPP line protocol driver uses the kernel's built-in syncppp
157driver (syncppp.o). You don't have to manually select syncppp.o when building
158the kernel, the dependencies compile it in automatically.
159
160
161
162
163EXAMPLE
164(setting up hw parameters, see above)
165
166# using HDLC:
167echo hdlc >/proc/comx/comx0/protocol
168echo 10 >/proc/comx/comx0/keepalive <- not necessary, 10 is the default
169ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255
170
171(setting up hw parameters, see above)
172
173# using PPP:
174echo ppp >/proc/comx/comx0/protocol
175ifconfig comx0 up
176ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255
177
178
179THE LAPB LINE PROTOCOL DRIVER
180
181For this, you'll need to configure LAPB support (See 'LAPB Data Link Driver' in
182'Network options' section) into your kernel (thanks to Jonathan Naylor for his
183excellent implementation).
184comx-proto-lapb.o provides the following files in the appropriate directory
185(the default values in parens): t1 (5), t2 (1), n2 (20), mode (DTE, STD) and
186window (7). Agree with the administrator of your peer router on these
187settings (most people use defaults, but you have to know if you are DTE or
188DCE).
189
190EXAMPLE
191
192(setting up hw parameters, see above)
193echo lapb >/proc/comx/comx0/protocol
194echo dce >/proc/comx/comx0/mode <- DCE interface in this example
195ifconfig comx0 1.2.3.4 pointopoint 5.6.7.8 netmask 255.255.255.255
196
197
198THE FRAME RELAY PROTOCOL DRIVER
199
200You DON'T need any other frame relay related modules from the kernel to use
201COMX-Frame Relay. This protocol is a bit more complicated than the others,
202because it allows to use 'subinterfaces' or DLCIs within one physical device.
203First you have to create the 'master' device (the actual physical interface)
204as you would do for other protocols. Specify 'frad' as protocol type.
205Now you can bring this interface up by saying 'ifconfig comx0 up' (or whatever
206you've named the interface). Do not assign any IP address to this interface
207and do not set any routes through it.
208Then, set up your DLCIs the following way: create a comx interface for each
209DLCI you intend to use (with mkdir), and write 'dlci' to the 'boardtype' file,
210and 'ietf-ip' to the 'protocol' file. Currently, the only supported
211encapsulation type is this (also called as RFC1294/1490 IP encapsulation).
212Write the DLCI number to the 'dlci' file, and write the name of the physical
213COMX device to the file called 'master'.
214Now you can assign an IP address to this interface and set routes using it.
215See the example file for further info and example config script.
216Notes: this driver implements a DTE interface with partially implemented
217Q933a LMI.
218You can find an extensively commented example in the 'etc' directory.
219
220FURTHER /proc FILES
221
222boardtype:
223Type of the hardware. Valid values are:
224 'comx', 'hicomx', 'locomx', 'cmx', 'slicecom'.
225
226protocol:
227Data-link protocol on this channel. Can be: HDLC, LAPB, PPP, FRAD
228
229status:
230You can read the channel's actual status from the 'status' file, for example
231'cat /proc/comx/comx3/status'.
232
233lineup_delay:
234Interpreted in seconds (default is 1). Used to avoid line jitter: the system
235will consider the line status 'UP' only if it is up for at least this number
236of seconds.
237
238debug:
239You can set various debug options through this file. Valid options are:
240'comx_events', 'comx_tx', 'comx_rx', 'hw_events', 'hw_tx', 'hw_rx'.
241You can enable a debug options by writing its name prepended by a '+' into
242the debug file, for example 'echo +comx_rx >comx0/debug'.
243Disabling an option happens similarly, use the '-' prefix
244(e.g. 'echo -hw_rx >debug').
245Debug results can be read from the debug file, for example:
246tail -f /proc/comx/comx2/debug
247
248
diff --git a/Documentation/networking/ncsa-telnet b/Documentation/networking/ncsa-telnet
deleted file mode 100644
index d77d28b09093..000000000000
--- a/Documentation/networking/ncsa-telnet
+++ /dev/null
@@ -1,16 +0,0 @@
1NCSA telnet doesn't work with path MTU discovery enabled. This is due to a
2bug in NCSA that also stops it working with other modern networking code
3such as Solaris.
4
5The following information is courtesy of
6Marek <marekm@i17linuxb.ists.pwr.wroc.pl>
7
8There is a fixed version somewhere on ftp.upe.ac.za (sorry, I don't
9remember the exact pathname, and this site is very slow from here).
10It may or may not be faster for you to get it from
11ftp://ftp.ists.pwr.wroc.pl/pub/msdos/telnet/ncsa_upe/tel23074.zip
12(source is in v230704s.zip). I have tested it with 1.3.79 (with
13path mtu discovery enabled - ncsa 2.3.08 didn't work) and it seems
14to work. I don't know if anyone is working on this code - this
15version is over a year old. Too bad - it's faster and often more
16stable than these windoze telnets, and runs on almost anything...
diff --git a/Documentation/networking/pt.txt b/Documentation/networking/pt.txt
deleted file mode 100644
index 72e888c1d988..000000000000
--- a/Documentation/networking/pt.txt
+++ /dev/null
@@ -1,58 +0,0 @@
1This is the README for the Gracilis Packetwin device driver, version 0.5
2ALPHA for Linux 1.3.43.
3
4These files will allow you to talk to the PackeTwin (now know as PT) and
5connect through it just like a pair of TNCs. To do this you will also
6require the AX.25 code in the kernel enabled.
7
8There are four files in this archive; this readme, a patch file, a .c file
9and finally a .h file. The two program files need to be put into the
10drivers/net directory in the Linux source tree, for me this is the
11directory /usr/src/linux/drivers/net. The patch file needs to be patched in
12at the top of the Linux source tree (/usr/src/linux in my case).
13
14You will most probably have to edit the pt.c file to suit your own setup,
15this should just involve changing some of the defines at the top of the file.
16Please note that if you run an external modem you must specify a speed of 0.
17
18The program is currently setup to run a 4800 baud external modem on port A
19and a Kantronics DE-9600 daughter board on port B so if you have this (or
20something similar) then you're right.
21
22To compile in the driver, put the files in the correct place and patch in
23the diff. You will have to re-configure the kernel again before you
24recompile it.
25
26The driver is not real good at the moment for finding the card. You can
27'help' it by changing the order of the potential addresses in the structure
28found in the pt_init() function so the address of where the card is is put
29first.
30
31After compiling, you have to get them going, they are pretty well like any
32other net device and just need ifconfig to get them going.
33As an example, here is my /etc/rc.net
34--------------------------
35
36#
37# Configure the PackeTwin, port A.
38/sbin/ifconfig pt0a 44.136.8.87 hw ax25 vk2xlz mtu 512
39/sbin/ifconfig pt0a 44.136.8.87 broadcast 44.136.8.255 netmask 255.255.255.0
40/sbin/route add -net 44.136.8.0 netmask 255.255.255.0 dev pt0a
41/sbin/route add -net 44.0.0.0 netmask 255.0.0.0 gw 44.136.8.68 dev pt0a
42/sbin/route add -net 138.25.16.0 netmask 255.255.240.0 dev pt0a
43/sbin/route add -host 44.136.8.255 dev pt0a
44#
45# Configure the PackeTwin, port B.
46/sbin/ifconfig pt0b 44.136.8.87 hw ax25 vk2xlz-1 mtu 512
47/sbin/ifconfig pt0b 44.136.8.87 broadcast 44.255.255.255 netmask 255.0.0.0
48/sbin/route add -host 44.136.8.216 dev pt0b
49/sbin/route add -host 44.136.8.95 dev pt0b
50/sbin/route add -host 44.255.255.255 dev pt0b
51
52This version of the driver comes under the GNU GPL. If you have one of my
53previous (non-GPL) versions of the driver, please update to this one.
54
55I hope that this all works well for you. I would be pleased to hear how
56many people use the driver and if it does its job.
57
58 - Craig vk2xlz <csmall@small.dropbear.id.au>
diff --git a/Documentation/networking/routing.txt b/Documentation/networking/routing.txt
deleted file mode 100644
index a26838b930f2..000000000000
--- a/Documentation/networking/routing.txt
+++ /dev/null
@@ -1,46 +0,0 @@
1The directory ftp.inr.ac.ru:/ip-routing contains:
2
3- iproute.c - "professional" routing table maintenance utility.
4
5- rdisc.tar.gz - rdisc daemon, ported from Sun.
6 STRONGLY RECOMMENDED FOR ALL HOSTS.
7
8- routing.tgz - original Mike McLagan's route by source patch.
9 Currently it is obsolete.
10
11- gated.dif-ss<NEWEST>.gz - gated-R3_6Alpha_2 fixes.
12 Look at README.gated
13
14- mrouted-3.8.dif.gz - mrouted-3.8 fixes.
15
16- rtmon.c - trivial debugging utility: reads and stores netlink.
17
18
19NEWS for user.
20
21- Policy based routing. Routing decisions are made on the basis
22 not only of destination address, but also source address,
23 TOS and incoming interface.
24- Complete set of IP level control messages.
25 Now Linux is the only OS in the world complying to RFC requirements.
26 Great win 8)
27- New interface addressing paradigm.
28 Assignment of address ranges to interface,
29 multiple prefixes etc. etc.
30 Do not bother, it is compatible with the old one. Moreover:
31- You don't need to do "route add aaa.bbb.ccc... eth0" anymore,
32 it is done automatically.
33- "Abstract" UNIX sockets and security enhancements.
34 This is necessary to use TIRPC and TLI emulation library.
35
36NEWS for hacker.
37
38- New destination cache. Flexible, robust and just beautiful.
39- Network stack is reordered, simplified, optimized, a lot of bugs fixed.
40 (well, and new bugs were introduced, but I haven't seen them yet 8))
41 It is difficult to describe all the changes, look into source.
42
43If you see this file, then this patch works 8)
44
45Alexey Kuznetsov.
46kuznet@ms2.inr.ac.ru
diff --git a/Documentation/networking/slicecom.hun b/Documentation/networking/slicecom.hun
deleted file mode 100644
index bed2f045e550..000000000000
--- a/Documentation/networking/slicecom.hun
+++ /dev/null
@@ -1,371 +0,0 @@
1
2SliceCOM adapter felhasznaloi dokumentacioja - 0.51 verziohoz
3
4Bartók István <bartoki@itc.hu>
5Utolso modositas: Wed Aug 29 17:26:58 CEST 2001
6
7-----------------------------------------------------------------
8
9Hasznalata:
10
11Forditas:
12
13Code maturity level options
14 [*] Prompt for development and/or incomplete code/drivers
15
16Network device support
17 Wan interfaces
18 <M> MultiGate (COMX) synchronous
19 <M> Support for MUNICH based boards: SliceCOM, PCICOM (NEW)
20 <M> Support for HDLC and syncPPP...
21
22
23A modulok betoltese:
24
25modprobe comx
26
27modprobe comx-proto-ppp # a Cisco-HDLC es a SyncPPP protokollt is
28 # ez a modul adja
29
30modprobe comx-hw-munich # a modul betoltodeskor azonnal jelent a
31 # syslogba a detektalt kartyakrol
32
33
34Konfiguralas:
35
36# Ezen az interfeszen Cisco-HDLC vonali protokoll fog futni
37# Az interfeszhez rendelt idoszeletek: 1,2 (128 kbit/sec-es vonal)
38# (a G.703 keretben az elso adatot vivo idoszelet az 1-es)
39#
40mkdir /proc/comx/comx0.1/
41echo slicecom >/proc/comx/comx0.1/boardtype
42echo hdlc >/proc/comx/comx0.1/protocol
43echo 1 2 >/proc/comx/comx0.1/timeslots
44
45
46# Ezen az interfeszen SyncPPP vonali protokoll fog futni
47# Az interfeszhez rendelt idoszelet: 3 (64 kbit/sec-es vonal)
48#
49mkdir /proc/comx/comx0.2/
50echo slicecom >/proc/comx/comx0.2/boardtype
51echo ppp >/proc/comx/comx0.2/protocol
52echo 3 >/proc/comx/comx0.2/timeslots
53
54...
55
56ifconfig comx0.1 up
57ifconfig comx0.2 up
58
59-----------------------------------------------------------------
60
61A COMX driverek default 20 csomagnyi transmit queue-t rendelnek a halozati
62interfeszekhez. WAN halozatokban ennel hosszabbat is szokas hasznalni
63(20 es 100 kozott), hogy a vonal kihasznaltsaga nagy terheles eseten jobb
64legyen (bar ezzel megno a varhato kesleltetes a csomagok sorban allasa miatt):
65
66# ifconfig comx0 txqueuelen 50
67
68Ezt a beallitasi lehetoseget csak az ujabb disztribuciok ifconfig parancsa
69tamogatja (amik mar a 2.2 kernelekhez keszultek, mint a RedHat 6.1 vagy a
70Debian 2.2).
71
72A 2.1-es Debian disztribuciohoz a http://www.debian.org/~rcw/2.2/netbase/
73cimrol toltheto le ujabb netbase csomag, ami mar ilyet tamogato ifconfig
74parancsot tartalmaz. Bovebben a 2.2 kernel hasznalatarol Debian 2.1 alatt:
75http://www.debian.org/releases/stable/running-kernel-2.2
76
77-----------------------------------------------------------------
78
79A kartya LED-jeinek jelentese:
80
81piros - eg, ha Remote Alarm-ot kuld a tuloldal
82zold - eg, ha a vett jelben megtalalja a keretszinkront
83
84Reszletesebben:
85
86piros: zold: jelentes:
87
88- - nincs keretszinkron (nincs jel, vagy rossz a jel)
89- eg "minden rendben"
90eg eg a vetel OK, de a tuloldal Remote Alarm-ot kuld
91eg - ez nincs ertelmezve, egyelore funkcio nelkul
92
93-----------------------------------------------------------------
94
95Reszletesebb leiras a hardver beallitasi lehetosegeirol:
96
97Az altalanos,- es a protokoll-retegek beallitasi lehetosegeirol a 'comx.txt'
98fajlban leirtak SliceCOM kartyanal is ervenyesek, itt csak a hardver-specifikus
99beallitasi lehetosegek vannak osszefoglalva:
100
101Konfiguralasi interfesz a /proc/comx/ alatt:
102
103Minden timeslot-csoportnak kulon comx* interfeszt kell letrehozni mkdir-rel:
104comx0, comx1, .. stb. Itt beallithato, hogy az adott interfesz hanyadik kartya
105melyik timeslotja(i)bol alljon ossze. A Cisco-fele serial3:1 elnevezesek
106(serial3:1 = a 3. kartyaban az 1-es idoszelet-csoport) Linuxon aliasing-ot
107jelentenenek, ezert mi nem tudunk ilyen elnevezest hasznalni.
108
109Tobb kartya eseten a comx0.1, comx0.2, ... vagy slice0.1, slice0.2 nevek
110hasznalhatoak.
111
112Tobb SliceCOM kartya is lehet egy gepben, de sajat interrupt kell mindegyiknek,
113nem tud meg megosztott interruptot kezelni.
114
115Az egesz kartyat erinto beallitasok:
116
117Az ioport es irq beallitas nincs: amit a PCI BIOS kioszt a rendszernek,
118azt hasznalja a driver.
119
120
121comx0/boardnum - hanyadik SliceCOM kartya a gepben (a 'termeszetes' PCI
122 sorrendben ertve: ahogyan a /proc/pci-ban vagy az 'lspci'
123 kimeneteben megjelenik, altalaban az alaplapi PCI meghajto
124 aramkorokhoz kozelebb eso kartyak a kisebb sorszamuak)
125
126 Default: 0 (0-tol kezdodik a szamolas)
127
128
129Bar a kovetkezoket csak egy-egy interfeszen allitjuk at, megis az egesz kartya
130mukodeset egyszerre allitjak. A megkotes hogy csak UP-ban levo interfeszen
131hasznalhatoak, azert van, mert kulonben nem vart eredmenyekre vezetne egy ilyen
132paranccsorozat:
133
134 echo 0 >boardnum
135 echo internal >clock_source
136 echo 1 >boardnum
137
138- Ez a 0-s board clock_source-at allitana at.
139
140Ezek a beallitasok megmaradnak az osszes interfesz torlesekor, de torlodnek
141a driver modul ki/betoltesekor.
142
143
144comx0/clock_source - A Tx orajelforrasa, a Cisco-val hasonlatosra keszult.
145 Hasznalata:
146
147 papaya:# echo line >/proc/comx/comx0/clock_source
148 papaya:# echo internal >/proc/comx/comx0/clock_source
149
150 line - A Tx orajelet a vett adatfolyambol dekodolja, igyekszik
151 igazodni hozza. Ha nem lat orajelet az inputon, akkor
152 atall a sajat orajelgeneratorara.
153 internal - A Tx orajelet a sajat orajelgeneratora szolgaltatja.
154
155 Default: line
156
157 Normal osszeallitas eseten a tavkozlesi szolgaltato eszkoze
158 (pl. HDSL modem) adja az orajelet, ezert ez a default.
159
160
161comx0/framing - A CRC4 ki/be kapcsolasa
162
163 A CRC4: 16 PCM keretet (A PCM keret az, amibe a 32 darab 64
164 kilobites csatorna van bemultiplexalva. Nem osszetevesztendo a HDLC
165 kerettel.) 2x8 -as csoportokra osztanak, es azokhoz 4-4 bites CRC-t
166 szamolnak. Elsosorban a vonal minosegenek a monitorozasara szolgal.
167
168 papaya:~# echo crc4 >/proc/comx/comx0/framing
169 papaya:~# echo no-crc4 >/proc/comx/comx0/framing
170
171 Default a 'crc4', a MATAV vonalak altalaban igy futnak. De ha nem
172 egyforma is a beallitas a vonal ket vegen, attol a forgalom altalaban
173 at tud menni.
174
175
176comx0/linecode - A vonali kodolas beallitasa
177
178 papaya:~# echo hdb3 >/proc/comx/comx0/linecode
179 papaya:~# echo ami >/proc/comx/comx0/linecode
180
181 Default a 'hdb3', a MATAV vonalak igy futnak.
182
183 (az AMI kodolas igen ritka E1-es vonalaknal). Ha ez a beallitas nem
184 egyezik a vonal ket vegen, akkor elofordulhat hogy a keretszinkron
185 osszejon, de CRC4-hibak es a vonalakon atvitt adatokban is hibak
186 keletkeznek (amit a HDLC/SyncPPP szinten CRC-hibaval jelez)
187
188
189comx0/reg - a kartya aramkoreinek, a MUNICH (reg) es a FALC (lbireg)
190comx0/lbireg regisztereinek kozvetlen elerese. Hasznalata:
191
192 echo >reg 0x04 0x0 - a 4-es regiszterbe 0-t ir
193 echo >reg 0x104 - printk()-val kiirja a 4-es regiszter
194 tartalmat a syslogba.
195
196 WARNING: ezek csak a fejleszteshez keszultek, sok galibat
197 lehet veluk okozni!
198
199
200comx0/loopback - A kartya G.703 jelenek a visszahurkolasara is van lehetoseg:
201
202 papaya:# echo none >/proc/comx/comx0/loopback
203 papaya:# echo local >/proc/comx/comx0/loopback
204 papaya:# echo remote >/proc/comx/comx0/loopback
205
206 none - nincs visszahurkolas, normal mukodes
207 local - a kartya a sajat maga altal adott jelet kapja vissza
208 remote - a kartya a kivulrol vett jelet adja kifele
209
210 Default: none
211
212-----------------------------------------------------------------
213
214Az interfeszhez (Cisco terminologiaban 'channel-group') kapcsolodo beallitasok:
215
216comx0/timeslots - mely timeslotok (idoszeletek) tartoznak az adott interfeszhez.
217
218 papaya:~# cat /proc/comx/comx0/timeslots
219 1 3 4 5 6
220 papaya:~#
221
222 Egy timeslot megkeresese (hanyas interfeszbe tartozik nalunk):
223
224 papaya:~# grep ' 4' /proc/comx/comx*/timeslots
225 /proc/comx/comx0/timeslots:1 3 4 5 6
226 papaya:~#
227
228 Beallitasa:
229 papaya:~# echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots
230
231 A timeslotok sorrendje nem szamit, '1 3 2' ugyanaz mint az '1 2 3'.
232
233 Beallitashoz az adott interfesznek DOWN-ban kell lennie
234 (ifconfig comx0 down), de ugyanannak a kartyanak a tobbi interfesze
235 uzemelhet kozben.
236
237 Beallitaskor leellenorzi, hogy az uj timeslotok nem utkoznek-e egy
238 masik interfesz timeslotjaival. Ha utkoznek, akkor nem allitja at.
239
240 Mindig 10-es szamrendszerben tortenik a timeslotok ertelmezese, nehogy
241 a 08, 09 alaku felirast rosszul ertelmezze.
242
243-----------------------------------------------------------------
244
245Az interfeszek es a kartya allapotanak lekerdezese:
246
247- A ' '-szel kezdodo sorok az eredeti kimenetet, a //-rel kezdodo sorok a
248magyarazatot jelzik.
249
250 papaya:~$ cat /proc/comx/comx1/status
251 Interface administrative status is UP, modem status is UP, protocol is UP
252 Modem status changes: 0, Transmitter status is IDLE, tbusy: 0
253 Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m)
254 (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m)
255 Debug flags: none
256 RX errors: len: 22, overrun: 1, crc: 0, aborts: 0
257 buffer overrun: 0, pbuffer overrun: 0
258 TX errors: underrun: 0
259 Line keepalive (value: 10) status UP [0]
260
261// Itt kezdodik a hardver-specifikus resz:
262 Controller status:
263 No alarms
264
265// Alarm: hibajelzes:
266//
267// No alarms - minden rendben
268//
269// LOS - Loss Of Signal - nem erzekel jelet a bemeneten.
270// AIS - Alarm Indication Signal - csak egymas utani 1-esek jonnek
271// a bemeneten, a tuloldal igy is jelezheti hogy meghibasodott vagy
272// nincs inicializalva.
273// AUXP - Auxiliary Pattern Indication - 01010101.. sorozat jon a bemeneten.
274// LFA - Loss of Frame Alignment - nincs keretszinkron
275// RRA - Receive Remote Alarm - a tuloldal el, de hibat jelez.
276// LMFA - Loss of CRC4 Multiframe Alignment - nincs CRC4-multikeret-szinkron
277// NMF - No Multiframe alignment Found after 400 msec - ilyen alarm a no-crc4
278// es crc4 keretezesek eseten nincs, lasd lentebb
279//
280// Egyeb lehetseges hibajelzesek:
281//
282// Transmit Line Short - a kartya ugy erzi hogy az adasi kimenete rovidre
283// van zarva, ezert kikapcsolta az adast. (nem feltetlenul veszi eszre
284// a kulso rovidzarat)
285
286// A veteli oldal csomagjainak lancolt listai, debug celokra:
287
288 Rx ring:
289 rafutott: 0
290 lastcheck: 50845731, jiffies: 51314281
291 base: 017b1858
292 rx_desc_ptr: 0
293 rx_desc_ptr: 017b1858
294 hw_curr_ptr: 017b1858
295 06040000 017b1868 017b1898 c016ff00
296 06040000 017b1878 017b1e9c c016ff00
297 46040000 017b1888 017b24a0 c016ff00
298 06040000 017b1858 017b2aa4 c016ff00
299
300// A kartyat hasznalo tobbi interfesz: a 0-s channel-group a comx1 interfesz,
301// es az 1,2,...,16 timeslotok tartoznak hozza:
302
303 Interfaces using this board: (channel-group, interface, timeslots)
304 0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
305 1 comx2: 17
306 2 comx3: 18
307 3 comx4: 19
308 4 comx5: 20
309 5 comx6: 21
310 6 comx7: 22
311 7 comx8: 23
312 8 comx9: 24
313 9 comx10: 25
314 10 comx11: 26
315 11 comx12: 27
316 12 comx13: 28
317 13 comx14: 29
318 14 comx15: 30
319 15 comx16: 31
320
321// Hany esemenyt kezelt le a driver egy-egy hardver-interrupt kiszolgalasanal:
322
323 Interrupt work histogram:
324 hist[ 0]: 0 hist[ 1]: 2 hist[ 2]: 18574 hist[ 3]: 79
325 hist[ 4]: 14 hist[ 5]: 1 hist[ 6]: 0 hist[ 7]: 1
326 hist[ 8]: 0 hist[ 9]: 7
327
328// Hany kikuldendo csomag volt mar a Tx-ringben amikor ujabb lett irva bele:
329
330 Tx ring histogram:
331 hist[ 0]: 2329 hist[ 1]: 0 hist[ 2]: 0 hist[ 3]: 0
332
333// Az E1-interfesz hiba-szamlaloi, az rfc2495-nek megfeleloen:
334// (kb. a Cisco routerek "show controllers e1" formatumaban: http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126)
335
336Data in current interval (91 seconds elapsed):
337 9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors
338 0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins
339 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs
340Data in Interval 1 (15 minutes):
341 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
342 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
343 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
344Data in last 4 intervals (1 hour):
345 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
346 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
347 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
348Data in last 96 intervals (24 hours):
349 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
350 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
351 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
352
353-----------------------------------------------------------------
354
355Nehany kulonlegesebb beallitasi lehetoseg (idovel beepulhetnek majd a driverbe):
356Ezekkel sok galibat lehet okozni, nagyon ovatosan kell oket hasznalni!
357
358 modified CRC-4, for improved interworking of CRC-4 and non-CRC-4
359 devices: (lasd page 107 es g706 Annex B)
360 lbireg[ 0x1b ] |= 0x08
361 lbireg[ 0x1c ] |= 0xc0
362 - ilyenkor ertelmezett az NMF - 'No Multiframe alignment Found after
363 400 msec' alarm.
364
365 FALC - a vonali meghajto IC
366 local loop - a sajat adasomat halljam vissza
367 remote loop - a kivulrol jovo adast adom vissza
368
369 Egy hibakeresesre hasznalhato dolog:
370 - 1-es timeslot local loop a FALC-ban: echo >lbireg 0x1d 0x21
371 - local loop kikapcsolasa: echo >lbireg 0x1d 0x00
diff --git a/Documentation/networking/slicecom.txt b/Documentation/networking/slicecom.txt
deleted file mode 100644
index c82c0cf981b4..000000000000
--- a/Documentation/networking/slicecom.txt
+++ /dev/null
@@ -1,369 +0,0 @@
1
2SliceCOM adapter user's documentation - for the 0.51 driver version
3
4Written by Bartók István <bartoki@itc.hu>
5
6English translation: Lakatos György <gyuri@itc.hu>
7Mon Dec 11 15:28:42 CET 2000
8
9Last modified: Wed Aug 29 17:25:37 CEST 2001
10
11-----------------------------------------------------------------
12
13Usage:
14
15Compiling the kernel:
16
17Code maturity level options
18 [*] Prompt for development and/or incomplete code/drivers
19
20Network device support
21 Wan interfaces
22 <M> MultiGate (COMX) synchronous
23 <M> Support for MUNICH based boards: SliceCOM, PCICOM (NEW)
24 <M> Support for HDLC and syncPPP...
25
26
27Loading the modules:
28
29modprobe comx
30
31modprobe comx-proto-ppp # module for Cisco-HDLC and SyncPPP protocols
32
33modprobe comx-hw-munich # the module logs information by the kernel
34 # about the detected boards
35
36
37Configuring the board:
38
39# This interface will use the Cisco-HDLC line protocol,
40# the timeslices assigned are 1,2 (128 KiBit line speed)
41# (the first data timeslice in the G.703 frame is no. 1)
42#
43mkdir /proc/comx/comx0.1/
44echo slicecom >/proc/comx/comx0.1/boardtype
45echo hdlc >/proc/comx/comx0.1/protocol
46echo 1 2 >/proc/comx/comx0.1/timeslots
47
48
49# This interface uses SyncPPP line protocol, the assigned
50# is no. 3 (64 KiBit line speed)
51#
52mkdir /proc/comx/comx0.2/
53echo slicecom >/proc/comx/comx0.2/boardtype
54echo ppp >/proc/comx/comx0.2/protocol
55echo 3 >/proc/comx/comx0.2/timeslots
56
57...
58
59ifconfig comx0.1 up
60ifconfig comx0.2 up
61
62-----------------------------------------------------------------
63
64The COMX interfaces use a 10 packet transmit queue by default, however WAN
65networks sometimes use bigger values (20 to 100), to utilize the line better
66by large traffic (though the line delay increases because of more packets
67join the queue).
68
69# ifconfig comx0 txqueuelen 50
70
71This option is only supported by the ifconfig command of the later
72distributions, which came with 2.2 kernels, such as RedHat 6.1 or Debian 2.2.
73
74You can download a newer netbase packet from
75http://www.debian.org/~rcw/2.2/netbase/ for Debian 2.1, which has a new
76ifconfig. You can get further information about using 2.2 kernel with
77Debian 2.1 from http://www.debian.org/releases/stable/running-kernel-2.2
78
79-----------------------------------------------------------------
80
81The SliceCom LEDs:
82
83red - on, if the interface is unconfigured, or it gets Remote Alarm-s
84green - on, if the board finds frame-sync in the received signal
85
86A bit more detailed:
87
88red: green: meaning:
89
90- - no frame-sync, no signal received, or signal SNAFU.
91- on "Everything is OK"
92on on Reception is ok, but the remote end sends Remote Alarm
93on - The interface is unconfigured
94
95-----------------------------------------------------------------
96
97A more detailed description of the hardware setting options:
98
99The general and the protocol layer options described in the 'comx.txt' file
100apply to the SliceCom as well, I only summarize the SliceCom hardware specific
101settings below.
102
103The '/proc/comx' configuring interface:
104
105An interface directory should be created for every timeslot group with
106'mkdir', e,g: 'comx0', 'comx1' etc. The timeslots can be assigned here to the
107specific interface. The Cisco-like naming convention (serial3:1 - first
108timeslot group of the 3rd. board) can't be used here, because these mean IP
109aliasing in Linux.
110
111You can give any meaningful name to keep the configuration clear;
112e.g: 'comx0.1', 'comx0.2', 'comx1.1', comx1.2', if you have two boards
113with two interfaces each.
114
115Settings, which apply to the board:
116
117Neither 'io' nor 'irq' settings required, the driver uses the resources
118given by the PCI BIOS.
119
120comx0/boardnum - board number of the SliceCom in the PC (using the 'natural'
121 PCI order) as listed in '/proc/pci' or the output of the
122 'lspci' command, generally the slots nearer to the motherboard
123 PCI driver chips have the lower numbers.
124
125 Default: 0 (the counting starts with 0)
126
127Though the options below are to be set on a single interface, they apply to the
128whole board. The restriction, to use them on 'UP' interfaces, is because the
129command sequence below could lead to unpredictable results.
130
131 # echo 0 >boardnum
132 # echo internal >clock_source
133 # echo 1 >boardnum
134
135The sequence would set the clock source of board 0.
136
137These settings will persist after all the interfaces are cleared, but are
138cleared when the driver module is unloaded and loaded again.
139
140comx0/clock_source - source of the transmit clock
141 Usage:
142
143 # echo line >/proc/comx/comx0/clock_source
144 # echo internal >/proc/comx/comx0/clock_source
145
146 line - The Tx clock is being decoded if the input data stream,
147 if no clock seen on the input, then the board will use it's
148 own clock generator.
149
150 internal - The Tx clock is supplied by the builtin clock generator.
151
152 Default: line
153
154 Normally, the telecommunication company's end device (the HDSL
155 modem) provides the Tx clock, that's why 'line' is the default.
156
157comx0/framing - Switching CRC4 off/on
158
159 CRC4: 16 PCM frames (The 32 64Kibit channels are multiplexed into a
160 PCM frame, nothing to do with HDLC frames) are divided into 2x8
161 groups, each group has a 4 bit CRC.
162
163 # echo crc4 >/proc/comx/comx0/framing
164 # echo no-crc4 >/proc/comx/comx0/framing
165
166 Default is 'crc4', the Hungarian MATAV lines behave like this.
167 The traffic generally passes if this setting on both ends don't match.
168
169comx0/linecode - Setting the line coding
170
171 # echo hdb3 >/proc/comx/comx0/linecode
172 # echo ami >/proc/comx/comx0/linecode
173
174 Default a 'hdb3', MATAV lines use this.
175
176 (AMI coding is rarely used with E1 lines). Frame sync may occur, if
177 this setting doesn't match the other end's, but CRC4 and data errors
178 will come, which will result in CRC errors on HDLC/SyncPPP level.
179
180comx0/reg - direct access to the board's MUNICH (reg) and FALC (lbireg)
181comx0/lbireg circuit's registers
182
183 # echo >reg 0x04 0x0 - write 0 to register 4
184 # echo >reg 0x104 - write the contents of register 4 with
185 printk() to syslog
186
187WARNING! These are only for development purposes, messing with this will
188 result much trouble!
189
190comx0/loopback - Places a loop to the board's G.703 signals
191
192 # echo none >/proc/comx/comx0/loopback
193 # echo local >/proc/comx/comx0/loopback
194 # echo remote >/proc/comx/comx0/loopback
195
196 none - normal operation, no loop
197 local - the board receives it's own output
198 remote - the board sends the received data to the remote side
199
200 Default: none
201
202-----------------------------------------------------------------
203
204Interface (channel group in Cisco terms) settings:
205
206comx0/timeslots - which timeslots belong to the given interface
207
208 Setting:
209
210 # echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots
211
212 # cat /proc/comx/comx0/timeslots
213 1 2 5 6 7 8
214 #
215
216 Finding a timeslot:
217
218 # grep ' 4' /proc/comx/comx*/timeslots
219 /proc/comx/comx0/timeslots:1 3 4 5 6
220 #
221
222 The timeslots can be in any order, '1 2 3' is the same as '1 3 2'.
223
224 The interface has to be DOWN during the setting ('ifconfig comx0
225 down'), but the other interfaces could operate normally.
226
227 The driver checks if the assigned timeslots are vacant, if not, then
228 the setting won't be applied.
229
230 The timeslot values are treated as decimal numbers, not to misunderstand
231 values of 08, 09 form.
232
233-----------------------------------------------------------------
234
235Checking the interface and board status:
236
237- Lines beginning with ' ' (space) belong to the original output, the lines
238which begin with '//' are the comments.
239
240 papaya:~$ cat /proc/comx/comx1/status
241 Interface administrative status is UP, modem status is UP, protocol is UP
242 Modem status changes: 0, Transmitter status is IDLE, tbusy: 0
243 Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m)
244 (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m)
245 Debug flags: none
246 RX errors: len: 22, overrun: 1, crc: 0, aborts: 0
247 buffer overrun: 0, pbuffer overrun: 0
248 TX errors: underrun: 0
249 Line keepalive (value: 10) status UP [0]
250
251// The hardware specific part starts here:
252 Controller status:
253 No alarms
254
255// Alarm:
256//
257// No alarms - Everything OK
258//
259// LOS - Loss Of Signal - No signal sensed on the input
260// AIS - Alarm Indication Signal - The remote side sends '11111111'-s,
261// it tells, that there's an error condition, or it's not
262// initialised.
263// AUXP - Auxiliary Pattern Indication - 01010101.. received.
264// LFA - Loss of Frame Alignment - no frame sync received.
265// RRA - Receive Remote Alarm - the remote end's OK, but signals error cond.
266// LMFA - Loss of CRC4 Multiframe Alignment - no CRC4 multiframe sync.
267// NMF - No Multiframe alignment Found after 400 msec - no such alarm using
268// no-crc4 or crc4 framing, see below.
269//
270// Other possible error messages:
271//
272// Transmit Line Short - the board felt, that it's output is short-circuited,
273// so it switched the transmission off. (The board can't definitely tell,
274// that it's output is short-circuited.)
275
276// Chained list of the received packets, for debug purposes:
277
278 Rx ring:
279 rafutott: 0
280 lastcheck: 50845731, jiffies: 51314281
281 base: 017b1858
282 rx_desc_ptr: 0
283 rx_desc_ptr: 017b1858
284 hw_curr_ptr: 017b1858
285 06040000 017b1868 017b1898 c016ff00
286 06040000 017b1878 017b1e9c c016ff00
287 46040000 017b1888 017b24a0 c016ff00
288 06040000 017b1858 017b2aa4 c016ff00
289
290// All the interfaces using the board: comx1, using the 1,2,...16 timeslots,
291// comx2, using timeslot 17, etc.
292
293 Interfaces using this board: (channel-group, interface, timeslots)
294 0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
295 1 comx2: 17
296 2 comx3: 18
297 3 comx4: 19
298 4 comx5: 20
299 5 comx6: 21
300 6 comx7: 22
301 7 comx8: 23
302 8 comx9: 24
303 9 comx10: 25
304 10 comx11: 26
305 11 comx12: 27
306 12 comx13: 28
307 13 comx14: 29
308 14 comx15: 30
309 15 comx16: 31
310
311// The number of events handled by the driver during an interrupt cycle:
312
313 Interrupt work histogram:
314 hist[ 0]: 0 hist[ 1]: 2 hist[ 2]: 18574 hist[ 3]: 79
315 hist[ 4]: 14 hist[ 5]: 1 hist[ 6]: 0 hist[ 7]: 1
316 hist[ 8]: 0 hist[ 9]: 7
317
318// The number of packets to send in the Tx ring, when a new one arrived:
319
320 Tx ring histogram:
321 hist[ 0]: 2329 hist[ 1]: 0 hist[ 2]: 0 hist[ 3]: 0
322
323// The error counters of the E1 interface, according to the RFC2495,
324// (similar to the Cisco "show controllers e1" command's output:
325// http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126)
326
327Data in current interval (91 seconds elapsed):
328 9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors
329 0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins
330 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs
331Data in Interval 1 (15 minutes):
332 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
333 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
334 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
335Data in last 4 intervals (1 hour):
336 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
337 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
338 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
339Data in last 96 intervals (24 hours):
340 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
341 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
342 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
343
344-----------------------------------------------------------------
345
346Some unique options, (may get into the driver later):
347Treat them very carefully, these can cause much trouble!
348
349 modified CRC-4, for improved interworking of CRC-4 and non-CRC-4
350 devices: (see page 107 and g706 Annex B)
351 lbireg[ 0x1b ] |= 0x08
352 lbireg[ 0x1c ] |= 0xc0
353
354 - The NMF - 'No Multiframe alignment Found after 400 msec' alarm
355 comes into account.
356
357 FALC - the line driver chip.
358 local loop - I hear my transmission back.
359 remote loop - I echo the remote transmission back.
360
361 Something useful for finding errors:
362
363 - local loop for timeslot 1 in the FALC chip:
364
365 # echo >lbireg 0x1d 0x21
366
367 - Switching the loop off:
368
369 # echo >lbireg 0x1d 0x00
diff --git a/Documentation/powerpc/booting-without-of.txt b/Documentation/powerpc/booting-without-of.txt
index a96e85397eb7..ac1be25c1e25 100644
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
@@ -52,6 +52,7 @@ Table of Contents
52 i) Freescale QUICC Engine module (QE) 52 i) Freescale QUICC Engine module (QE)
53 j) CFI or JEDEC memory-mapped NOR flash 53 j) CFI or JEDEC memory-mapped NOR flash
54 k) Global Utilities Block 54 k) Global Utilities Block
55 l) Xilinx IP cores
55 56
56 VII - Specifying interrupt information for devices 57 VII - Specifying interrupt information for devices
57 1) interrupts property 58 1) interrupts property
@@ -851,12 +852,18 @@ address which can extend beyond that limit.
851 /cpus/PowerPC,970FX@0 852 /cpus/PowerPC,970FX@0
852 /cpus/PowerPC,970FX@1 853 /cpus/PowerPC,970FX@1
853 (unit addresses do not require leading zeroes) 854 (unit addresses do not require leading zeroes)
854 - d-cache-line-size : one cell, L1 data cache line size in bytes 855 - d-cache-block-size : one cell, L1 data cache block size in bytes (*)
855 - i-cache-line-size : one cell, L1 instruction cache line size in 856 - i-cache-block-size : one cell, L1 instruction cache block size in
856 bytes 857 bytes
857 - d-cache-size : one cell, size of L1 data cache in bytes 858 - d-cache-size : one cell, size of L1 data cache in bytes
858 - i-cache-size : one cell, size of L1 instruction cache in bytes 859 - i-cache-size : one cell, size of L1 instruction cache in bytes
859 860
861(*) The cache "block" size is the size on which the cache management
862instructions operate. Historically, this document used the cache
863"line" size here which is incorrect. The kernel will prefer the cache
864block size and will fallback to cache line size for backward
865compatibility.
866
860 Recommended properties: 867 Recommended properties:
861 868
862 - timebase-frequency : a cell indicating the frequency of the 869 - timebase-frequency : a cell indicating the frequency of the
@@ -870,6 +877,10 @@ address which can extend beyond that limit.
870 for the above, the common code doesn't use that property, but 877 for the above, the common code doesn't use that property, but
871 you are welcome to re-use the pSeries or Maple one. A future 878 you are welcome to re-use the pSeries or Maple one. A future
872 kernel version might provide a common function for this. 879 kernel version might provide a common function for this.
880 - d-cache-line-size : one cell, L1 data cache line size in bytes
881 if different from the block size
882 - i-cache-line-size : one cell, L1 instruction cache line size in
883 bytes if different from the block size
873 884
874 You are welcome to add any property you find relevant to your board, 885 You are welcome to add any property you find relevant to your board,
875 like some information about the mechanism used to soft-reset the 886 like some information about the mechanism used to soft-reset the
@@ -2242,6 +2253,266 @@ platforms are moved over to use the flattened-device-tree model.
2242 available. 2253 available.
2243 For Axon: 0x0000012a 2254 For Axon: 0x0000012a
2244 2255
2256 l) Xilinx IP cores
2257
2258 The Xilinx EDK toolchain ships with a set of IP cores (devices) for use
2259 in Xilinx Spartan and Virtex FPGAs. The devices cover the whole range
2260 of standard device types (network, serial, etc.) and miscellanious
2261 devices (gpio, LCD, spi, etc). Also, since these devices are
2262 implemented within the fpga fabric every instance of the device can be
2263 synthesised with different options that change the behaviour.
2264
2265 Each IP-core has a set of parameters which the FPGA designer can use to
2266 control how the core is synthesized. Historically, the EDK tool would
2267 extract the device parameters relevant to device drivers and copy them
2268 into an 'xparameters.h' in the form of #define symbols. This tells the
2269 device drivers how the IP cores are configured, but it requres the kernel
2270 to be recompiled every time the FPGA bitstream is resynthesized.
2271
2272 The new approach is to export the parameters into the device tree and
2273 generate a new device tree each time the FPGA bitstream changes. The
2274 parameters which used to be exported as #defines will now become
2275 properties of the device node. In general, device nodes for IP-cores
2276 will take the following form:
2277
2278 (name)@(base-address) {
2279 compatible = "xlnx,(ip-core-name)-(HW_VER)"
2280 [, (list of compatible devices), ...];
2281 reg = <(baseaddr) (size)>;
2282 interrupt-parent = <&interrupt-controller-phandle>;
2283 interrupts = < ... >;
2284 xlnx,(parameter1) = "(string-value)";
2285 xlnx,(parameter2) = <(int-value)>;
2286 };
2287
2288 (ip-core-name): the name of the ip block (given after the BEGIN
2289 directive in system.mhs). Should be in lowercase
2290 and all underscores '_' converted to dashes '-'.
2291 (name): is derived from the "PARAMETER INSTANCE" value.
2292 (parameter#): C_* parameters from system.mhs. The C_ prefix is
2293 dropped from the parameter name, the name is converted
2294 to lowercase and all underscore '_' characters are
2295 converted to dashes '-'.
2296 (baseaddr): the C_BASEADDR parameter.
2297 (HW_VER): from the HW_VER parameter.
2298 (size): equals C_HIGHADDR - C_BASEADDR + 1
2299
2300 Typically, the compatible list will include the exact IP core version
2301 followed by an older IP core version which implements the same
2302 interface or any other device with the same interface.
2303
2304 'reg', 'interrupt-parent' and 'interrupts' are all optional properties.
2305
2306 For example, the following block from system.mhs:
2307
2308 BEGIN opb_uartlite
2309 PARAMETER INSTANCE = opb_uartlite_0
2310 PARAMETER HW_VER = 1.00.b
2311 PARAMETER C_BAUDRATE = 115200
2312 PARAMETER C_DATA_BITS = 8
2313 PARAMETER C_ODD_PARITY = 0
2314 PARAMETER C_USE_PARITY = 0
2315 PARAMETER C_CLK_FREQ = 50000000
2316 PARAMETER C_BASEADDR = 0xEC100000
2317 PARAMETER C_HIGHADDR = 0xEC10FFFF
2318 BUS_INTERFACE SOPB = opb_7
2319 PORT OPB_Clk = CLK_50MHz
2320 PORT Interrupt = opb_uartlite_0_Interrupt
2321 PORT RX = opb_uartlite_0_RX
2322 PORT TX = opb_uartlite_0_TX
2323 PORT OPB_Rst = sys_bus_reset_0
2324 END
2325
2326 becomes the following device tree node:
2327
2328 opb-uartlite-0@ec100000 {
2329 device_type = "serial";
2330 compatible = "xlnx,opb-uartlite-1.00.b";
2331 reg = <ec100000 10000>;
2332 interrupt-parent = <&opb-intc>;
2333 interrupts = <1 0>; // got this from the opb_intc parameters
2334 current-speed = <d#115200>; // standard serial device prop
2335 clock-frequency = <d#50000000>; // standard serial device prop
2336 xlnx,data-bits = <8>;
2337 xlnx,odd-parity = <0>;
2338 xlnx,use-parity = <0>;
2339 };
2340
2341 Some IP cores actually implement 2 or more logical devices. In this case,
2342 the device should still describe the whole IP core with a single node
2343 and add a child node for each logical device. The ranges property can
2344 be used to translate from parent IP-core to the registers of each device.
2345 (Note: this makes the assumption that both logical devices have the same
2346 bus binding. If this is not true, then separate nodes should be used for
2347 each logical device). The 'cell-index' property can be used to enumerate
2348 logical devices within an IP core. For example, the following is the
2349 system.mhs entry for the dual ps2 controller found on the ml403 reference
2350 design.
2351
2352 BEGIN opb_ps2_dual_ref
2353 PARAMETER INSTANCE = opb_ps2_dual_ref_0
2354 PARAMETER HW_VER = 1.00.a
2355 PARAMETER C_BASEADDR = 0xA9000000
2356 PARAMETER C_HIGHADDR = 0xA9001FFF
2357 BUS_INTERFACE SOPB = opb_v20_0
2358 PORT Sys_Intr1 = ps2_1_intr
2359 PORT Sys_Intr2 = ps2_2_intr
2360 PORT Clkin1 = ps2_clk_rx_1
2361 PORT Clkin2 = ps2_clk_rx_2
2362 PORT Clkpd1 = ps2_clk_tx_1
2363 PORT Clkpd2 = ps2_clk_tx_2
2364 PORT Rx1 = ps2_d_rx_1
2365 PORT Rx2 = ps2_d_rx_2
2366 PORT Txpd1 = ps2_d_tx_1
2367 PORT Txpd2 = ps2_d_tx_2
2368 END
2369
2370 It would result in the following device tree nodes:
2371
2372 opb_ps2_dual_ref_0@a9000000 {
2373 ranges = <0 a9000000 2000>;
2374 // If this device had extra parameters, then they would
2375 // go here.
2376 ps2@0 {
2377 compatible = "xlnx,opb-ps2-dual-ref-1.00.a";
2378 reg = <0 40>;
2379 interrupt-parent = <&opb-intc>;
2380 interrupts = <3 0>;
2381 cell-index = <0>;
2382 };
2383 ps2@1000 {
2384 compatible = "xlnx,opb-ps2-dual-ref-1.00.a";
2385 reg = <1000 40>;
2386 interrupt-parent = <&opb-intc>;
2387 interrupts = <3 0>;
2388 cell-index = <0>;
2389 };
2390 };
2391
2392 Also, the system.mhs file defines bus attachments from the processor
2393 to the devices. The device tree structure should reflect the bus
2394 attachments. Again an example; this system.mhs fragment:
2395
2396 BEGIN ppc405_virtex4
2397 PARAMETER INSTANCE = ppc405_0
2398 PARAMETER HW_VER = 1.01.a
2399 BUS_INTERFACE DPLB = plb_v34_0
2400 BUS_INTERFACE IPLB = plb_v34_0
2401 END
2402
2403 BEGIN opb_intc
2404 PARAMETER INSTANCE = opb_intc_0
2405 PARAMETER HW_VER = 1.00.c
2406 PARAMETER C_BASEADDR = 0xD1000FC0
2407 PARAMETER C_HIGHADDR = 0xD1000FDF
2408 BUS_INTERFACE SOPB = opb_v20_0
2409 END
2410
2411 BEGIN opb_uart16550
2412 PARAMETER INSTANCE = opb_uart16550_0
2413 PARAMETER HW_VER = 1.00.d
2414 PARAMETER C_BASEADDR = 0xa0000000
2415 PARAMETER C_HIGHADDR = 0xa0001FFF
2416 BUS_INTERFACE SOPB = opb_v20_0
2417 END
2418
2419 BEGIN plb_v34
2420 PARAMETER INSTANCE = plb_v34_0
2421 PARAMETER HW_VER = 1.02.a
2422 END
2423
2424 BEGIN plb_bram_if_cntlr
2425 PARAMETER INSTANCE = plb_bram_if_cntlr_0
2426 PARAMETER HW_VER = 1.00.b
2427 PARAMETER C_BASEADDR = 0xFFFF0000
2428 PARAMETER C_HIGHADDR = 0xFFFFFFFF
2429 BUS_INTERFACE SPLB = plb_v34_0
2430 END
2431
2432 BEGIN plb2opb_bridge
2433 PARAMETER INSTANCE = plb2opb_bridge_0
2434 PARAMETER HW_VER = 1.01.a
2435 PARAMETER C_RNG0_BASEADDR = 0x20000000
2436 PARAMETER C_RNG0_HIGHADDR = 0x3FFFFFFF
2437 PARAMETER C_RNG1_BASEADDR = 0x60000000
2438 PARAMETER C_RNG1_HIGHADDR = 0x7FFFFFFF
2439 PARAMETER C_RNG2_BASEADDR = 0x80000000
2440 PARAMETER C_RNG2_HIGHADDR = 0xBFFFFFFF
2441 PARAMETER C_RNG3_BASEADDR = 0xC0000000
2442 PARAMETER C_RNG3_HIGHADDR = 0xDFFFFFFF
2443 BUS_INTERFACE SPLB = plb_v34_0
2444 BUS_INTERFACE MOPB = opb_v20_0
2445 END
2446
2447 Gives this device tree (some properties removed for clarity):
2448
2449 plb-v34-0 {
2450 #address-cells = <1>;
2451 #size-cells = <1>;
2452 device_type = "ibm,plb";
2453 ranges; // 1:1 translation
2454
2455 plb-bram-if-cntrl-0@ffff0000 {
2456 reg = <ffff0000 10000>;
2457 }
2458
2459 opb-v20-0 {
2460 #address-cells = <1>;
2461 #size-cells = <1>;
2462 ranges = <20000000 20000000 20000000
2463 60000000 60000000 20000000
2464 80000000 80000000 40000000
2465 c0000000 c0000000 20000000>;
2466
2467 opb-uart16550-0@a0000000 {
2468 reg = <a00000000 2000>;
2469 };
2470
2471 opb-intc-0@d1000fc0 {
2472 reg = <d1000fc0 20>;
2473 };
2474 };
2475 };
2476
2477 That covers the general approach to binding xilinx IP cores into the
2478 device tree. The following are bindings for specific devices:
2479
2480 i) Xilinx ML300 Framebuffer
2481
2482 Simple framebuffer device from the ML300 reference design (also on the
2483 ML403 reference design as well as others).
2484
2485 Optional properties:
2486 - resolution = <xres yres> : pixel resolution of framebuffer. Some
2487 implementations use a different resolution.
2488 Default is <d#640 d#480>
2489 - virt-resolution = <xvirt yvirt> : Size of framebuffer in memory.
2490 Default is <d#1024 d#480>.
2491 - rotate-display (empty) : rotate display 180 degrees.
2492
2493 ii) Xilinx SystemACE
2494
2495 The Xilinx SystemACE device is used to program FPGAs from an FPGA
2496 bitstream stored on a CF card. It can also be used as a generic CF
2497 interface device.
2498
2499 Optional properties:
2500 - 8-bit (empty) : Set this property for SystemACE in 8 bit mode
2501
2502 iii) Xilinx EMAC and Xilinx TEMAC
2503
2504 Xilinx Ethernet devices. In addition to general xilinx properties
2505 listed above, nodes for these devices should include a phy-handle
2506 property, and may include other common network device properties
2507 like local-mac-address.
2508
2509 iv) Xilinx Uartlite
2510
2511 Xilinx uartlite devices are simple fixed speed serial ports.
2512
2513 Requred properties:
2514 - current-speed : Baud rate of uartlite
2515
2245 More devices will be defined as this spec matures. 2516 More devices will be defined as this spec matures.
2246 2517
2247VII - Specifying interrupt information for devices 2518VII - Specifying interrupt information for devices