S/390 common I/O-Layer - command line parameters and /proc entries
==================================================================

Command line parameters
-----------------------

* cio_msg = yes | no
  
  Determines whether information on found devices and sensed device 
  characteristics should be shown during startup, i. e. messages of the types 
  "Detected device 4711 on subchannel 42" and "SenseID: Device 4711 reports: ...".

  Default is off.


* cio_notoper_msg = yes | no

  Determines whether messages of the type "Device 4711 became 'not operational'"
  should be shown during startup; after startup, they will always be shown.
  
  Default is on.


* cio_ignore = <device number> | <range of device numbers>, 
	       <device number> | <range of device numbers>, ...

  The given device numbers 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.

  The device numbers must be given hexadecimal.

  For example, 
	cio_ignore=0x23-0x42,0x4711
  will ignore all devices with device numbers ranging from 23 to 42 and the 
  device with device number 4711, if detected.

  By default, no devices are ignored.


/proc entries
-------------

* /proc/cio_ignore

  Lists the ranges of device numbers 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 <devnorange>, <devnorange>, ..." will un-ignore the specified devices.

  For example, if devices 23 to 42 and 4711 are ignored,
  - echo free 0x30-0x32 > /proc/cio_ignore
    will un-ignore devices 30 to 32 and will leave devices 23 to 2F, 33 to 42
    and 4711 ignored;
  - echo free 0x41 > /proc/cio_ignore will furthermore un-ignore device 41;
  - 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
  available to the system.

  You can also add ranges of devices to be ignored by piping to 
  /proc/cio_ignore; "add <devnorange>, <devnorange>, ..." will ignore the 
  specified devices.

  Note: Already known devices cannot be ignored; this also applies to devices
        which are gone after a machine check.

  For example, if device abcd is already known and all other devices a000-afff 
  are not known, "echo add 0xa000-0xaccc, 0xaf00-0xafff > /proc/cio_ignore" 
  will add af00-afff to the list of ignored devices and skip a000-accc.


* /proc/s390dbf/cio_*/ (S/390 debug feature)

  Some views generated by the debug feature to hold various debug outputs.

  - /proc/s390dbf/cio_crw/sprintf
    Messages from the processing of pending channel report words (machine check
    handling), which will also show when CONFIG_DEBUG_CRW is defined.

  - /proc/s390dbf/cio_msg/sprintf
    Various debug messages from the common I/O-layer; generally, messages which 
    will also show when CONFIG_DEBUG_IO is defined.

  - /proc/s390dbf/cio_trace/hex_ascii
    Logs the calling of functions in the common I/O-layer and, if applicable, 
    which subchannel they were called for.

  The level of logging can be changed to be more or less verbose by piping to 
  /proc/s390dbf/cio_*/level a number between 0 and 6; see the documentation on
  the S/390 debug feature (Documentation/s390/s390dbf.txt) for details.

* 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.
