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