diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/Makefile | 2 | ||||
-rw-r--r-- | Documentation/DocBook/s390-drivers.tmpl | 149 | ||||
-rw-r--r-- | Documentation/filesystems/ntfs.txt | 4 | ||||
-rw-r--r-- | Documentation/s390/00-INDEX | 26 | ||||
-rw-r--r-- | Documentation/s390/CommonIO | 51 | ||||
-rw-r--r-- | Documentation/s390/cds.txt | 8 |
6 files changed, 212 insertions, 28 deletions
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 08687e45e19d..1a7f53068ec2 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile | |||
@@ -11,7 +11,7 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \ | |||
11 | procfs-guide.xml writing_usb_driver.xml \ | 11 | procfs-guide.xml writing_usb_driver.xml \ |
12 | kernel-api.xml filesystems.xml lsm.xml usb.xml \ | 12 | kernel-api.xml filesystems.xml lsm.xml usb.xml \ |
13 | gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ | 13 | gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ |
14 | genericirq.xml | 14 | genericirq.xml s390-drivers.xml |
15 | 15 | ||
16 | ### | 16 | ### |
17 | # The build process is as follows (targets): | 17 | # The build process is as follows (targets): |
diff --git a/Documentation/DocBook/s390-drivers.tmpl b/Documentation/DocBook/s390-drivers.tmpl new file mode 100644 index 000000000000..254e769282a4 --- /dev/null +++ b/Documentation/DocBook/s390-drivers.tmpl | |||
@@ -0,0 +1,149 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" | ||
3 | "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> | ||
4 | |||
5 | <book id="s390drivers"> | ||
6 | <bookinfo> | ||
7 | <title>Writing s390 channel device drivers</title> | ||
8 | |||
9 | <authorgroup> | ||
10 | <author> | ||
11 | <firstname>Cornelia</firstname> | ||
12 | <surname>Huck</surname> | ||
13 | <affiliation> | ||
14 | <address> | ||
15 | <email>cornelia.huck@de.ibm.com</email> | ||
16 | </address> | ||
17 | </affiliation> | ||
18 | </author> | ||
19 | </authorgroup> | ||
20 | |||
21 | <copyright> | ||
22 | <year>2007</year> | ||
23 | <holder>IBM Corp.</holder> | ||
24 | </copyright> | ||
25 | |||
26 | <legalnotice> | ||
27 | <para> | ||
28 | This documentation is free software; you can redistribute | ||
29 | it and/or modify it under the terms of the GNU General Public | ||
30 | License as published by the Free Software Foundation; either | ||
31 | version 2 of the License, or (at your option) any later | ||
32 | version. | ||
33 | </para> | ||
34 | |||
35 | <para> | ||
36 | This program is distributed in the hope that it will be | ||
37 | useful, but WITHOUT ANY WARRANTY; without even the implied | ||
38 | warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
39 | See the GNU General Public License for more details. | ||
40 | </para> | ||
41 | |||
42 | <para> | ||
43 | You should have received a copy of the GNU General Public | ||
44 | License along with this program; if not, write to the Free | ||
45 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
46 | MA 02111-1307 USA | ||
47 | </para> | ||
48 | |||
49 | <para> | ||
50 | For more details see the file COPYING in the source | ||
51 | distribution of Linux. | ||
52 | </para> | ||
53 | </legalnotice> | ||
54 | </bookinfo> | ||
55 | |||
56 | <toc></toc> | ||
57 | |||
58 | <chapter id="intro"> | ||
59 | <title>Introduction</title> | ||
60 | <para> | ||
61 | This document describes the interfaces available for device drivers that | ||
62 | drive s390 based channel attached devices. This includes interfaces for | ||
63 | interaction with the hardware and interfaces for interacting with the | ||
64 | common driver core. Those interfaces are provided by the s390 common I/O | ||
65 | layer. | ||
66 | </para> | ||
67 | <para> | ||
68 | The document assumes a familarity with the technical terms associated | ||
69 | with the s390 channel I/O architecture. For a description of this | ||
70 | architecture, please refer to the "z/Architecture: Principles of | ||
71 | Operation", IBM publication no. SA22-7832. | ||
72 | </para> | ||
73 | <para> | ||
74 | While most I/O devices on a s390 system are typically driven through the | ||
75 | channel I/O mechanism described here, there are various other methods | ||
76 | (like the diag interface). These are out of the scope of this document. | ||
77 | </para> | ||
78 | <para> | ||
79 | Some additional information can also be found in the kernel source | ||
80 | under Documentation/s390/driver-model.txt. | ||
81 | </para> | ||
82 | </chapter> | ||
83 | <chapter id="ccw"> | ||
84 | <title>The ccw bus</title> | ||
85 | <para> | ||
86 | The ccw bus typically contains the majority of devices available to | ||
87 | a s390 system. Named after the channel command word (ccw), the basic | ||
88 | command structure used to address its devices, the ccw bus contains | ||
89 | so-called channel attached devices. They are addressed via subchannels, | ||
90 | visible on the css bus. A device driver, however, will never interact | ||
91 | with the subchannel directly, but only via the device on the ccw bus, | ||
92 | the ccw device. | ||
93 | </para> | ||
94 | <sect1 id="channelIO"> | ||
95 | <title>I/O functions for channel-attached devices</title> | ||
96 | <para> | ||
97 | Some hardware structures have been translated into C structures for use | ||
98 | by the common I/O layer and device drivers. For more information on | ||
99 | the hardware structures represented here, please consult the Principles | ||
100 | of Operation. | ||
101 | </para> | ||
102 | !Iinclude/asm-s390/cio.h | ||
103 | </sect1> | ||
104 | <sect1 id="ccwdev"> | ||
105 | <title>ccw devices</title> | ||
106 | <para> | ||
107 | Devices that want to initiate channel I/O need to attach to the ccw bus. | ||
108 | Interaction with the driver core is done via the common I/O layer, which | ||
109 | provides the abstractions of ccw devices and ccw device drivers. | ||
110 | </para> | ||
111 | <para> | ||
112 | The functions that initiate or terminate channel I/O all act upon a | ||
113 | ccw device structure. Device drivers must not bypass those functions | ||
114 | or strange side effects may happen. | ||
115 | </para> | ||
116 | !Iinclude/asm-s390/ccwdev.h | ||
117 | !Edrivers/s390/cio/device.c | ||
118 | !Edrivers/s390/cio/device_ops.c | ||
119 | </sect1> | ||
120 | <sect1 id="cmf"> | ||
121 | <title>The channel-measurement facility</title> | ||
122 | <para> | ||
123 | The channel-measurement facility provides a means to collect | ||
124 | measurement data which is made available by the channel subsystem | ||
125 | for each channel attached device. | ||
126 | </para> | ||
127 | !Iinclude/asm-s390/cmb.h | ||
128 | !Edrivers/s390/cio/cmf.c | ||
129 | </sect1> | ||
130 | </chapter> | ||
131 | |||
132 | <chapter id="ccwgroup"> | ||
133 | <title>The ccwgroup bus</title> | ||
134 | <para> | ||
135 | The ccwgroup bus only contains artificial devices, created by the user. | ||
136 | Many networking devices (e.g. qeth) are in fact composed of several | ||
137 | ccw devices (like read, write and data channel for qeth). The | ||
138 | ccwgroup bus provides a mechanism to create a meta-device which | ||
139 | contains those ccw devices as slave devices and can be associated | ||
140 | with the netdevice. | ||
141 | </para> | ||
142 | <sect1 id="ccwgroupdevices"> | ||
143 | <title>ccw group devices</title> | ||
144 | !Iinclude/asm-s390/ccwgroup.h | ||
145 | !Edrivers/s390/cio/ccwgroup.c | ||
146 | </sect1> | ||
147 | </chapter> | ||
148 | |||
149 | </book> | ||
diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 8ee10ec88293..e79ee2db183a 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt | |||
@@ -407,7 +407,7 @@ raiddev /dev/md0 | |||
407 | device /dev/hda5 | 407 | device /dev/hda5 |
408 | raid-disk 0 | 408 | raid-disk 0 |
409 | device /dev/hdb1 | 409 | device /dev/hdb1 |
410 | raid-disl 1 | 410 | raid-disk 1 |
411 | 411 | ||
412 | For linear raid, just change the raid-level above to "raid-level linear", for | 412 | For linear raid, just change the raid-level above to "raid-level linear", for |
413 | mirrors, change it to "raid-level 1", and for stripe sets with parity, change | 413 | mirrors, change it to "raid-level 1", and for stripe sets with parity, change |
@@ -457,6 +457,8 @@ ChangeLog | |||
457 | 457 | ||
458 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. | 458 | Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. |
459 | 459 | ||
460 | 2.1.29: | ||
461 | - Fix a deadlock when mounting read-write. | ||
460 | 2.1.28: | 462 | 2.1.28: |
461 | - Fix a deadlock. | 463 | - Fix a deadlock. |
462 | 2.1.27: | 464 | 2.1.27: |
diff --git a/Documentation/s390/00-INDEX b/Documentation/s390/00-INDEX new file mode 100644 index 000000000000..3a2b96302ecc --- /dev/null +++ b/Documentation/s390/00-INDEX | |||
@@ -0,0 +1,26 @@ | |||
1 | 00-INDEX | ||
2 | - this file. | ||
3 | 3270.ChangeLog | ||
4 | - ChangeLog for the UTS Global 3270-support patch (outdated). | ||
5 | 3270.txt | ||
6 | - how to use the IBM 3270 display system support. | ||
7 | cds.txt | ||
8 | - s390 common device support (common I/O layer). | ||
9 | CommonIO | ||
10 | - common I/O layer command line parameters, procfs and debugfs entries | ||
11 | config3270.sh | ||
12 | - example configuration for 3270 devices. | ||
13 | DASD | ||
14 | - information on the DASD disk device driver. | ||
15 | Debugging390.txt | ||
16 | - hints for debugging on s390 systems. | ||
17 | driver-model.txt | ||
18 | - information on s390 devices and the driver model. | ||
19 | monreader.txt | ||
20 | - information on accessing the z/VM monitor stream from Linux. | ||
21 | s390dbf.txt | ||
22 | - information on using the s390 debug feature. | ||
23 | TAPE | ||
24 | - information on the driver for channel-attached tapes. | ||
25 | zfcpdump | ||
26 | - information on the s390 SCSI dump tool. | ||
diff --git a/Documentation/s390/CommonIO b/Documentation/s390/CommonIO index 22f82f21bc60..86320aa3fb0b 100644 --- a/Documentation/s390/CommonIO +++ b/Documentation/s390/CommonIO | |||
@@ -1,5 +1,5 @@ | |||
1 | S/390 common I/O-Layer - command line parameters and /proc entries | 1 | S/390 common I/O-Layer - command line parameters, procfs and debugfs entries |
2 | ================================================================== | 2 | ============================================================================ |
3 | 3 | ||
4 | Command line parameters | 4 | Command line parameters |
5 | ----------------------- | 5 | ----------------------- |
@@ -7,9 +7,9 @@ Command line parameters | |||
7 | * cio_msg = yes | no | 7 | * cio_msg = yes | no |
8 | 8 | ||
9 | Determines whether information on found devices and sensed device | 9 | Determines whether information on found devices and sensed device |
10 | characteristics should be shown during startup, i. e. messages of the types | 10 | characteristics should be shown during startup or when new devices are |
11 | "Detected device 0.0.4711 on subchannel 0.0.0042" and "SenseID: Device | 11 | found, i. e. messages of the types "Detected device 0.0.4711 on subchannel |
12 | 0.0.4711 reports: ...". | 12 | 0.0.0042" and "SenseID: Device 0.0.4711 reports: ...". |
13 | 13 | ||
14 | Default is off. | 14 | Default is off. |
15 | 15 | ||
@@ -26,8 +26,10 @@ Command line parameters | |||
26 | An ignored device can be un-ignored later; see the "/proc entries"-section for | 26 | An ignored device can be un-ignored later; see the "/proc entries"-section for |
27 | details. | 27 | details. |
28 | 28 | ||
29 | The devices must be given either as bus ids (0.0.abcd) or as hexadecimal | 29 | The devices must be given either as bus ids (0.x.abcd) or as hexadecimal |
30 | device numbers (0xabcd or abcd, for 2.4 backward compatibility). | 30 | device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you |
31 | give a device number 0xabcd, it will be interpreted as 0.0.abcd. | ||
32 | |||
31 | You can use the 'all' keyword to ignore all devices. | 33 | You can use the 'all' keyword to ignore all devices. |
32 | The '!' operator will cause the I/O-layer to _not_ ignore a device. | 34 | The '!' operator will cause the I/O-layer to _not_ ignore a device. |
33 | The command line is parsed from left to right. | 35 | The command line is parsed from left to right. |
@@ -81,31 +83,36 @@ Command line parameters | |||
81 | will add 0.0.a000-0.0.accc and 0.0.af00-0.0.afff to the list of ignored | 83 | will add 0.0.a000-0.0.accc and 0.0.af00-0.0.afff to the list of ignored |
82 | devices. | 84 | devices. |
83 | 85 | ||
84 | The devices can be specified either by bus id (0.0.abcd) or, for 2.4 backward | 86 | The devices can be specified either by bus id (0.x.abcd) or, for 2.4 backward |
85 | compatibility, by the device number in hexadecimal (0xabcd or abcd). | 87 | compatibility, by the device number in hexadecimal (0xabcd or abcd). Device |
88 | numbers given as 0xabcd will be interpreted as 0.0.abcd. | ||
89 | |||
90 | * For some of the information present in the /proc filesystem in 2.4 (namely, | ||
91 | /proc/subchannels and /proc/chpids), see driver-model.txt. | ||
92 | Information formerly in /proc/irq_count is now in /proc/interrupts. | ||
93 | |||
86 | 94 | ||
95 | debugfs entries | ||
96 | --------------- | ||
87 | 97 | ||
88 | * /proc/s390dbf/cio_*/ (S/390 debug feature) | 98 | * /sys/kernel/debug/s390dbf/cio_*/ (S/390 debug feature) |
89 | 99 | ||
90 | Some views generated by the debug feature to hold various debug outputs. | 100 | Some views generated by the debug feature to hold various debug outputs. |
91 | 101 | ||
92 | - /proc/s390dbf/cio_crw/sprintf | 102 | - /sys/kernel/debug/s390dbf/cio_crw/sprintf |
93 | Messages from the processing of pending channel report words (machine check | 103 | Messages from the processing of pending channel report words (machine check |
94 | handling), which will also show when CONFIG_DEBUG_CRW is defined. | 104 | handling). |
95 | 105 | ||
96 | - /proc/s390dbf/cio_msg/sprintf | 106 | - /sys/kernel/debug/s390dbf/cio_msg/sprintf |
97 | Various debug messages from the common I/O-layer; generally, messages which | 107 | Various debug messages from the common I/O-layer, including messages |
98 | will also show when CONFIG_DEBUG_IO is defined. | 108 | printed when cio_msg=yes. |
99 | 109 | ||
100 | - /proc/s390dbf/cio_trace/hex_ascii | 110 | - /sys/kernel/debug/s390dbf/cio_trace/hex_ascii |
101 | Logs the calling of functions in the common I/O-layer and, if applicable, | 111 | Logs the calling of functions in the common I/O-layer and, if applicable, |
102 | which subchannel they were called for, as well as dumps of some data | 112 | which subchannel they were called for, as well as dumps of some data |
103 | structures (like irb in an error case). | 113 | structures (like irb in an error case). |
104 | 114 | ||
105 | The level of logging can be changed to be more or less verbose by piping to | 115 | The level of logging can be changed to be more or less verbose by piping to |
106 | /proc/s390dbf/cio_*/level a number between 0 and 6; see the documentation on | 116 | /sys/kernel/debug/s390dbf/cio_*/level a number between 0 and 6; see the |
107 | the S/390 debug feature (Documentation/s390/s390dbf.txt) for details. | 117 | documentation on the S/390 debug feature (Documentation/s390/s390dbf.txt) |
108 | 118 | for details. | |
109 | * For some of the information present in the /proc filesystem in 2.4 (namely, | ||
110 | /proc/subchannels and /proc/chpids), see driver-model.txt. | ||
111 | Information formerly in /proc/irq_count is now in /proc/interrupts. | ||
diff --git a/Documentation/s390/cds.txt b/Documentation/s390/cds.txt index 58919d6a593a..3081927cc2d6 100644 --- a/Documentation/s390/cds.txt +++ b/Documentation/s390/cds.txt | |||
@@ -286,10 +286,10 @@ first: | |||
286 | timeout value | 286 | timeout value |
287 | -EIO: the common I/O layer terminated the request due to an error state | 287 | -EIO: the common I/O layer terminated the request due to an error state |
288 | 288 | ||
289 | If the concurrent sense flag in the extended status word in the irb is set, the | 289 | If the concurrent sense flag in the extended status word (esw) in the irb is |
290 | field irb->scsw.count describes the number of device specific sense bytes | 290 | set, the field erw.scnt in the esw describes the number of device specific |
291 | available in the extended control word irb->scsw.ecw[0]. No device sensing by | 291 | sense bytes available in the extended control word irb->scsw.ecw[]. No device |
292 | the device driver itself is required. | 292 | sensing by the device driver itself is required. |
293 | 293 | ||
294 | The device interrupt handler can use the following definitions to investigate | 294 | The device interrupt handler can use the following definitions to investigate |
295 | the primary unit check source coded in sense byte 0 : | 295 | the primary unit check source coded in sense byte 0 : |