make oldconfig will rebuild these...
[linux-2.4.21-pre4.git] / Documentation / s390 / CommonIO
1 S/390 common I/O-Layer - command line parameters and /proc entries
2 ==================================================================
3
4 Command line parameters
5 -----------------------
6
7 * cio_msg = yes | no
8   
9   Determines whether information on found devices and sensed device 
10   characteristics should be shown during startup, i. e. messages of the types 
11   "Detected device 4711 on subchannel 42" and "SenseID: Device 4711 reports: ...".
12
13   Default is off.
14
15
16 * cio_notoper_msg = yes | no
17
18   Determines whether messages of the type "Device 4711 became 'not operational'"
19   should be shown during startup; after startup, they will always be shown.
20   
21   Default is on.
22
23
24 * cio_ignore = <range of device numbers>, <range of device numbers>, ...
25
26   The given device numbers will be ignored by the common I/O-layer; no detection
27   and device sensing will be done on any of those devices. The subchannel to 
28   which the device in question is attached will be treated as if no device was
29   attached.
30
31   An ignored device can be un-ignored later; see the "/proc entries"-section for
32   details.
33
34   The device numbers must be given hexadecimal.
35
36   For example, 
37         cio_ignore=0x23-0x42,0x4711
38   will ignore all devices with device numbers ranging from 23 to 42 and the 
39   device with device number 4711, if detected.
40
41   By default, no devices are ignored.
42
43
44 * cio_proc_devinfo = yes | no
45
46   Determines whether the entries under /proc/deviceinfo/ (see below) should be
47   created. Since there are problems with systems with many devices attached, I
48   made it configurable.
49
50   Until the problems are dealt with, default is off.
51
52
53 /proc entries
54 -------------
55
56 * /proc/subchannels
57
58   Shows for each subchannel
59   - device number
60   - device type/model and if applicable control unit type/model
61   - whether the device is in use
62   - path installed mask, path available mask, path operational mask and last 
63     path used mask
64   - the channel path IDs (chpids)
65
66
67 * /proc/deviceinfo/
68
69   Shows in subdirectories for each device some characteristics:
70   - /proc/deviceinfo/<devno>/chpids: 
71         the channel path IDs
72   - /proc/deviceinfo/<devno>/in_use: 
73         whether the device is in use
74   - /proc/deviceinfo/<devno>/sensedata:
75         the device type/model and if applicable control unit type/model of the
76         device
77
78   NOTE: Since the number of inodes which can be dynamically allocated by procfs
79         is limited, device entries will only be created up to a magic number of
80         devices. The kernel will utter a warning that not all entries can be
81         created. In this case, you shouldn't use "cio_proc_devinfo=yes" (see
82         above).
83
84 * /proc/cio_ignore
85
86   Lists the ranges of device numbers which are ignored by common I/O.
87
88   You can un-ignore certain or all devices by piping to /proc/cio_ignore. 
89   "free all" will un-ignore all ignored devices, 
90   "free <devnorange>, <devnorange>, ..." will un-ignore the specified devices.
91
92   For example, if devices 23 to 42 and 4711 are ignored,
93   - echo free 0x30-0x32 > /proc/cio_ignore
94     will un-ignore devices 30 to 32 and will leave devices 23 to 2F, 33 to 42
95     and 4711 ignored;
96   - echo free 0x41 > /proc/cio_ignore will furthermore un-ignore device 41;
97   - echo free all > /proc/cio_ignore will un-ignore all remaining ignored 
98     devices.
99
100   When a device is un-ignored, device recognition and sensing is performed and 
101   the device driver will be notified if possible, so the device will become
102   available to the system.
103
104   You can also add ranges of devices to be ignored by piping to 
105   /proc/cio_ignore; "add <devnorange>, <devnorange>, ..." will ignore the 
106   specified devices.
107
108   Note: Already known devices cannot be ignored; this also applies to devices
109         which are gone after a machine check.
110
111   For example, if device abcd is already known and all other devices a000-afff 
112   are not known, "echo add 0xa000-0xaccc, 0xaf00-0xafff > /proc/cio_ignore" 
113   will add af00-afff to the list of ignored devices and skip a000-accc.
114
115
116 * /proc/s390dbf/cio_*/ (S/390 debug feature)
117
118   Some views generated by the debug feature to hold various debug outputs.
119
120   - /proc/s390dbf/cio_crw/sprintf
121     Messages from the processing of pending channel report words (machine check
122     handling), which will also show when CONFIG_DEBUG_CRW is defined.
123
124   - /proc/s390dbf/cio_msg/sprintf
125     Various debug messages from the common I/O-layer; generally, messages which 
126     will also show when CONFIG_DEBUG_IO is defined.
127
128   - /proc/s390dbf/cio_trace/hex_ascii
129     Logs the calling of functions in the common I/O-layer and, if applicable, 
130     which subchannel they were called for.
131
132   The level of logging can be changed to be more or less verbose by piping to 
133   /proc/s390dbf/cio_*/level a number between 0 and 6; see the documentation on
134   the S/390 debug feature (Documentation/s390/s390dbf.txt) for details.
135
136 * /proc/irq_count
137
138   This entry counts how many times s390_process_IRQ has been called for each 
139   CPU. This info is in /proc/interrupts on other architectures.