1 |
3 |
xianfeng |
S/390 common I/O-Layer - command line parameters, procfs and debugfs 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 or when new devices are
|
11 |
|
|
found, i. e. messages of the types "Detected device 0.0.4711 on subchannel
|
12 |
|
|
0.0.0042" and "SenseID: Device 0.0.4711 reports: ...".
|
13 |
|
|
|
14 |
|
|
Default is off.
|
15 |
|
|
|
16 |
|
|
|
17 |
|
|
* cio_ignore = {all} |
|
18 |
|
|
{ | } |
|
19 |
|
|
{! | !}
|
20 |
|
|
|
21 |
|
|
The given devices will be ignored by the common I/O-layer; no detection
|
22 |
|
|
and device sensing will be done on any of those devices. The subchannel to
|
23 |
|
|
which the device in question is attached will be treated as if no device was
|
24 |
|
|
attached.
|
25 |
|
|
|
26 |
|
|
An ignored device can be un-ignored later; see the "/proc entries"-section for
|
27 |
|
|
details.
|
28 |
|
|
|
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). If you
|
31 |
|
|
give a device number 0xabcd, it will be interpreted as 0.0.abcd.
|
32 |
|
|
|
33 |
|
|
You can use the 'all' keyword to ignore all devices.
|
34 |
|
|
The '!' operator will cause the I/O-layer to _not_ ignore a device.
|
35 |
|
|
The command line is parsed from left to right.
|
36 |
|
|
|
37 |
|
|
For example,
|
38 |
|
|
cio_ignore=0.0.0023-0.0.0042,0.0.4711
|
39 |
|
|
will ignore all devices ranging from 0.0.0023 to 0.0.0042 and the device
|
40 |
|
|
0.0.4711, if detected.
|
41 |
|
|
As another example,
|
42 |
|
|
cio_ignore=all,!0.0.4711,!0.0.fd00-0.0.fd02
|
43 |
|
|
will ignore all devices but 0.0.4711, 0.0.fd00, 0.0.fd01, 0.0.fd02.
|
44 |
|
|
|
45 |
|
|
By default, no devices are ignored.
|
46 |
|
|
|
47 |
|
|
|
48 |
|
|
/proc entries
|
49 |
|
|
-------------
|
50 |
|
|
|
51 |
|
|
* /proc/cio_ignore
|
52 |
|
|
|
53 |
|
|
Lists the ranges of devices (by bus id) which are ignored by common I/O.
|
54 |
|
|
|
55 |
|
|
You can un-ignore certain or all devices by piping to /proc/cio_ignore.
|
56 |
|
|
"free all" will un-ignore all ignored devices,
|
57 |
|
|
"free , , ..." will un-ignore the specified
|
58 |
|
|
devices.
|
59 |
|
|
|
60 |
|
|
For example, if devices 0.0.0023 to 0.0.0042 and 0.0.4711 are ignored,
|
61 |
|
|
- echo free 0.0.0030-0.0.0032 > /proc/cio_ignore
|
62 |
|
|
will un-ignore devices 0.0.0030 to 0.0.0032 and will leave devices 0.0.0023
|
63 |
|
|
to 0.0.002f, 0.0.0033 to 0.0.0042 and 0.0.4711 ignored;
|
64 |
|
|
- echo free 0.0.0041 > /proc/cio_ignore will furthermore un-ignore device
|
65 |
|
|
0.0.0041;
|
66 |
|
|
- echo free all > /proc/cio_ignore will un-ignore all remaining ignored
|
67 |
|
|
devices.
|
68 |
|
|
|
69 |
|
|
When a device is un-ignored, device recognition and sensing is performed and
|
70 |
|
|
the device driver will be notified if possible, so the device will become
|
71 |
|
|
available to the system. Note that un-ignoring is performed asynchronously.
|
72 |
|
|
|
73 |
|
|
You can also add ranges of devices to be ignored by piping to
|
74 |
|
|
/proc/cio_ignore; "add , , ..." will ignore the
|
75 |
|
|
specified devices.
|
76 |
|
|
|
77 |
|
|
Note: While already known devices can be added to the list of devices to be
|
78 |
|
|
ignored, there will be no effect on then. However, if such a device
|
79 |
|
|
disappears and then reappears, it will then be ignored.
|
80 |
|
|
|
81 |
|
|
For example,
|
82 |
|
|
"echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore"
|
83 |
|
|
will add 0.0.a000-0.0.accc and 0.0.af00-0.0.afff to the list of ignored
|
84 |
|
|
devices.
|
85 |
|
|
|
86 |
|
|
The devices can be specified either by bus id (0.x.abcd) or, for 2.4 backward
|
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 |
|
|
|
94 |
|
|
|
95 |
|
|
debugfs entries
|
96 |
|
|
---------------
|
97 |
|
|
|
98 |
|
|
* /sys/kernel/debug/s390dbf/cio_*/ (S/390 debug feature)
|
99 |
|
|
|
100 |
|
|
Some views generated by the debug feature to hold various debug outputs.
|
101 |
|
|
|
102 |
|
|
- /sys/kernel/debug/s390dbf/cio_crw/sprintf
|
103 |
|
|
Messages from the processing of pending channel report words (machine check
|
104 |
|
|
handling).
|
105 |
|
|
|
106 |
|
|
- /sys/kernel/debug/s390dbf/cio_msg/sprintf
|
107 |
|
|
Various debug messages from the common I/O-layer, including messages
|
108 |
|
|
printed when cio_msg=yes.
|
109 |
|
|
|
110 |
|
|
- /sys/kernel/debug/s390dbf/cio_trace/hex_ascii
|
111 |
|
|
Logs the calling of functions in the common I/O-layer and, if applicable,
|
112 |
|
|
which subchannel they were called for, as well as dumps of some data
|
113 |
|
|
structures (like irb in an error case).
|
114 |
|
|
|
115 |
|
|
The level of logging can be changed to be more or less verbose by piping to
|
116 |
|
|
/sys/kernel/debug/s390dbf/cio_*/level a number between 0 and 6; see the
|
117 |
|
|
documentation on the S/390 debug feature (Documentation/s390/s390dbf.txt)
|
118 |
|
|
for details.
|