| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  | S/390 common I/O-Layer - command line parameters, procfs and debugfs entries | 
					
						
							|  |  |  | ============================================================================ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | Command line parameters | 
					
						
							|  |  |  | ----------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * cio_msg = yes | no | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   Determines whether information on found devices and sensed device  | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   characteristics should be shown during startup or when new devices are | 
					
						
							|  |  |  |   found, i. e. messages of the types "Detected device 0.0.4711 on subchannel | 
					
						
							|  |  |  |   0.0.0042" and "SenseID: Device 0.0.4711 reports: ...". | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Default is off. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * cio_ignore = {all} | | 
					
						
							|  |  |  | 	       {<device> | <range of devices>} | | 
					
						
							|  |  |  | 	       {!<device> | !<range of devices>} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   The given devices will be ignored by the common I/O-layer; no detection | 
					
						
							|  |  |  |   and device sensing will be done on any of those devices. The subchannel to  | 
					
						
							|  |  |  |   which the device in question is attached will be treated as if no device was | 
					
						
							|  |  |  |   attached. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   An ignored device can be un-ignored later; see the "/proc entries"-section for | 
					
						
							|  |  |  |   details. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   The devices must be given either as bus ids (0.x.abcd) or as hexadecimal | 
					
						
							|  |  |  |   device numbers (0xabcd or abcd, for 2.4 backward compatibility). If you | 
					
						
							|  |  |  |   give a device number 0xabcd, it will be interpreted as 0.0.abcd. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |   You can use the 'all' keyword to ignore all devices. | 
					
						
							|  |  |  |   The '!' operator will cause the I/O-layer to _not_ ignore a device. | 
					
						
							| 
									
										
										
										
											2005-06-21 17:16:27 -07:00
										 |  |  |   The command line is parsed from left to right. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   For example,  | 
					
						
							|  |  |  | 	cio_ignore=0.0.0023-0.0.0042,0.0.4711 | 
					
						
							|  |  |  |   will ignore all devices ranging from 0.0.0023 to 0.0.0042 and the device | 
					
						
							|  |  |  |   0.0.4711, if detected. | 
					
						
							|  |  |  |   As another example, | 
					
						
							|  |  |  | 	cio_ignore=all,!0.0.4711,!0.0.fd00-0.0.fd02 | 
					
						
							|  |  |  |   will ignore all devices but 0.0.4711, 0.0.fd00, 0.0.fd01, 0.0.fd02. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   By default, no devices are ignored. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /proc entries | 
					
						
							|  |  |  | ------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * /proc/cio_ignore | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Lists the ranges of devices (by bus id) which are ignored by common I/O. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   You can un-ignore certain or all devices by piping to /proc/cio_ignore.  | 
					
						
							|  |  |  |   "free all" will un-ignore all ignored devices,  | 
					
						
							|  |  |  |   "free <device range>, <device range>, ..." will un-ignore the specified | 
					
						
							|  |  |  |   devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   For example, if devices 0.0.0023 to 0.0.0042 and 0.0.4711 are ignored, | 
					
						
							|  |  |  |   - echo free 0.0.0030-0.0.0032 > /proc/cio_ignore | 
					
						
							|  |  |  |     will un-ignore devices 0.0.0030 to 0.0.0032 and will leave devices 0.0.0023 | 
					
						
							|  |  |  |     to 0.0.002f, 0.0.0033 to 0.0.0042 and 0.0.4711 ignored; | 
					
						
							|  |  |  |   - echo free 0.0.0041 > /proc/cio_ignore will furthermore un-ignore device | 
					
						
							|  |  |  |     0.0.0041; | 
					
						
							|  |  |  |   - echo free all > /proc/cio_ignore will un-ignore all remaining ignored  | 
					
						
							|  |  |  |     devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   When a device is un-ignored, device recognition and sensing is performed and  | 
					
						
							|  |  |  |   the device driver will be notified if possible, so the device will become | 
					
						
							| 
									
										
										
										
											2006-10-18 18:30:55 +02:00
										 |  |  |   available to the system. Note that un-ignoring is performed asynchronously. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   You can also add ranges of devices to be ignored by piping to  | 
					
						
							|  |  |  |   /proc/cio_ignore; "add <device range>, <device range>, ..." will ignore the | 
					
						
							|  |  |  |   specified devices. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-21 17:16:27 -07:00
										 |  |  |   Note: While already known devices can be added to the list of devices to be | 
					
						
							|  |  |  |         ignored, there will be no effect on then. However, if such a device | 
					
						
							| 
									
										
										
										
											2006-12-04 15:40:23 +01:00
										 |  |  | 	disappears and then reappears, it will then be ignored. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-21 17:16:27 -07:00
										 |  |  |   For example, | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	"echo add 0.0.a000-0.0.accc, 0.0.af00-0.0.afff > /proc/cio_ignore" | 
					
						
							| 
									
										
										
										
											2005-06-21 17:16:27 -07:00
										 |  |  |   will add 0.0.a000-0.0.accc and 0.0.af00-0.0.afff to the list of ignored | 
					
						
							|  |  |  |   devices. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   The devices can be specified either by bus id (0.x.abcd) or, for 2.4 backward | 
					
						
							|  |  |  |   compatibility, by the device number in hexadecimal (0xabcd or abcd). Device | 
					
						
							|  |  |  |   numbers given as 0xabcd will be interpreted as 0.0.abcd. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | * For some of the information present in the /proc filesystem in 2.4 (namely, | 
					
						
							|  |  |  |   /proc/subchannels and /proc/chpids), see driver-model.txt. | 
					
						
							|  |  |  |   Information formerly in /proc/irq_count is now in /proc/interrupts. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  | debugfs entries | 
					
						
							|  |  |  | --------------- | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  | * /sys/kernel/debug/s390dbf/cio_*/ (S/390 debug feature) | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   Some views generated by the debug feature to hold various debug outputs. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   - /sys/kernel/debug/s390dbf/cio_crw/sprintf | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |     Messages from the processing of pending channel report words (machine check | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |     handling). | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   - /sys/kernel/debug/s390dbf/cio_msg/sprintf | 
					
						
							|  |  |  |     Various debug messages from the common I/O-layer, including messages | 
					
						
							|  |  |  |     printed when cio_msg=yes. | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   - /sys/kernel/debug/s390dbf/cio_trace/hex_ascii | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  |     Logs the calling of functions in the common I/O-layer and, if applicable,  | 
					
						
							| 
									
										
										
										
											2005-06-21 17:16:27 -07:00
										 |  |  |     which subchannel they were called for, as well as dumps of some data | 
					
						
							|  |  |  |     structures (like irb in an error case). | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |   The level of logging can be changed to be more or less verbose by piping to  | 
					
						
							| 
									
										
										
										
											2007-10-12 16:11:25 +02:00
										 |  |  |   /sys/kernel/debug/s390dbf/cio_*/level a number between 0 and 6; see the | 
					
						
							|  |  |  |   documentation on the S/390 debug feature (Documentation/s390/s390dbf.txt) | 
					
						
							|  |  |  |   for details. |