Device driver-related options
![]()
The device driver-related options comprise all z/Architecture® specific options in the Device Drivers main menu.
Figure 1 summarizes the device driver-related options in the order in which you find them in the kernel configuration menu. The list that follows provides explanations for each option. For architecture-specific options, see General architecture-specific options.
Device Drivers --->
PCI support ---> (common code option CONFIG_PCI)
...
Support for PCI Hotplug ---> (common code option CONFIG_HOTPLUG_PCI)
...
System z PCI Hotplug Support (CONFIG_HOTPLUG_PCI_S390)*
...
Block devices ---> (common code option CONFIG_BLK_DEV)
...
--- S/390 block device drivers (depends on S390 && BLOCK) ---
DCSSBLK support (CONFIG_DCSSBLK)
Support for DASD devices (CONFIG_DASD)
├─ Profiling support for dasd devices (CONFIG_DASD_PROFILE)
├─ Support for ECKD Disks (CONFIG_DASD_ECKD)
├─ Support for FBA Disks (CONFIG_DASD_FBA)
├─ Support for DIAG access to Disks (CONFIG_DASD_DIAG)
└─ Extended error reporting (EER) (CONFIG_DASD_EER)
Support for Storage Class Memory (CONFIG_SCM_BLOCK)*
...
Misc devices --->
...
GenWQE PCIe Accelerator ---> (CONFIG_GENWQE)*
...
SCSI device support --->
...
SCSI low-level drivers ---> (common code option CONFIG_SCSI_LOWLEVEL)
...
FCP host bus adapter driver for IBM mainframes (CONFIG_ZFCP)*
...
Network device support ---> (common code option CONFIG_NETDEVICES)
...
S/390 network device drivers (depends on NETDEVICES && S390) --->
CTC and MPC SNA device support (CONFIG_CTCM)
IUCV network device support (VM only) (CONFIG_NETIUCV)*
IUCV special message support (VM only) (CONFIG_SMSGIUCV)*
└─ Deliver IUCV special messages as uevents (VM only) (CONFIG_SMSGIUCV_EVENT)
Gigabit Ethernet device support (CONFIG_QETH)*
├─ qeth layer 2 device support (CONFIG_QETH_L2)
├─ qeth layer 3 device support (CONFIG_QETH_L3)
└─ qeth OSX device support (CONFIG_QETH_OSX)
Support for ISM vPCI Adapter (CONFIG_ISM)*
...
Character devices --->
...
z/VM IUCV Hypervisor console support (VM only) (CONFIG_HVC_IUCV)
...
Hardware Random Number Generator Core support ---> (common code option CONFIG_HW_RANDOM)
...
S390 True Random Number Generator support (CONFIG_HW_RANDOM_S390)
...
--- S/390 character device drivers (depends on S390) ---
Support for locally attached 3270 terminals (CONFIG_TN3270)
├─ Support for tty input/output on 3270 terminals (CONFIG_TN3270_TTY)*
├─ Support for fullscreen applications on 3270 terminals (CONFIG_TN3270_FS)*
└─ Support for console on 3270 terminal (CONFIG_TN3270_CONSOLE)*
Support for 3215 line mode terminal (CONFIG_TN3215)*
└─ Support for console on 3215 line mode terminal (CONFIG_TN3215_CONSOLE)
Support for SCLP line mode terminal (CONFIG_SCLP_TTY)*
└─ Support for console on SCLP line mode terminal (CONFIG_SCLP_CONSOLE)
Support for SCLP VT220-compatible terminal (CONFIG_SCLP_VT220_TTY)
└─ Support for console on SCLP VT220-compatible terminal (CONFIG_SCLP_VT220_CONSOLE)
Support for file transfers from HMC drive CD/DVD-ROM (CONFIG_HMC_DRV)
Ultravisor userspace API (CONFIG_S390_UV_UAPI)
...
S/390 tape device support (CONFIG_S390_TAPE)
--- S/390 tape hardware support (depends on S390_TAPE) ---
├─ Support for 3480/3490 tape hardware (CONFIG_S390_TAPE_34XX)
└─ Support for 3590 tape hardware (CONFIG_S390_TAPE_3590)
Support for the z/VM recording system services (VM only) (CONFIG_VMLOGRDR)*
Support for the z/VM CP interface (CONFIG_VMCP)
└─ Memory in MiB reserved for z/VM CP interface (CONFIG_VMCP_CMA_SIZE)
API for reading z/VM monitor service records (CONFIG_MONREADER)*
API for writing z/VM monitor service records (CONFIG_MONWRITER)
z/VM unit record device driver (CONFIG_S390_VMUR)
...
Watchdog Timer Support ---> (CONFIG_WATCHDOG)
...
System z diag288 Watchdog (CONFIG_DIAG288_WATCHDOG)
...
IOMMU Hardware Support ---> (common code option CONFIG_IOMMU_SUPPORT)
...
S390 CCW IOMMU Support (CONFIG_S390_CCW_IOMMU)*
S390 AP IOMMU Support (CONFIG_S390_AP_IOMMU)*
...
The following alphabetically sorted list has details about the device driver-related options summarized in Figure 1. For architecture-specific options, see General architecture-specific options.
- CONFIG_CTCM
-
Select this option if you want to use channel-to-channel point-to-point networking on IBM® System z®. This device driver supports real CTC coupling using ESCON®. It also supports virtual CTCs when running under VM. This driver also supports channel-to-channel MPC SNA devices. MPC is an SNA protocol device used by Communication Server for Linux™. To compile as a module, choose M. The module name is ctcm. To compile into the kernel, choose Y. If you do not need any channel-to-channel connection, choose N.
Depends on CCW && NETDEVICES.
CCW is an implicitly selected option.
- CONFIG_DASD
-
Enable this option if you want to access DASDs directly utilizing S/390s channel subsystem commands. This is necessary for running natively on a single image or an LPAR.
Depends on CCW && BLOCK.
CCW is an implicitly selected option.
- CONFIG_DASD_DIAG
-
Select this option if you want to use Diagnose250 command to access Disks under VM. If you are not running under VM or unsure what it is, say "N".
Depends on DASD.
- CONFIG_DASD_ECKD
-
ECKD™ devices are the most commonly used devices. You should enable this option unless you are very sure to have no ECKD device.
Depends on DASD.
- CONFIG_DASD_EER
-
This driver provides a character device interface to the DASD extended error reporting. This is only needed if you want to use applications written for the EER facility.
Depends on DASD.
- CONFIG_DASD_FBA
-
Select this option to be able to access FBA devices. It is safe to say "Y".
Depends on DASD.
- CONFIG_DASD_PROFILE
-
Enable this option if you want to see profiling information in /proc/dasd/statistics.
Depends on DASD.
- CONFIG_DCSSBLK
-
Support for dcss block device
Depends on S390 && BLOCK.
S390 is an implicitly selected option.
- CONFIG_DIAG288_WATCHDOG
-
IBM s/390 and zSeries machines running under z/VM 5.1 or later provide a virtual watchdog timer to their guest that cause a user define Control Program command to be executed after a timeout. LPAR provides a very similar interface. This driver handles both.
To compile this driver as a module, choose M here. The module will be called diag288_wdt.
- CONFIG_GENWQE
-
Enables PCIe card driver for IBM GenWQE accelerators. The user-space interface is described in include/linux/genwqe/genwqe_card.h.
Depends on PCI. - CONFIG_HMC_DRV
-
This option enables support for file transfers from a Hardware Management Console (HMC) drive CD/DVD-ROM. It is available as a module, called hmcdrv, and also as kernel built-in. There is one optional parameter for this module: cachesize=N, which modifies the transfer cache size from its default value 0.5 MB to N bytes. If N is zero, then no caching is performed.
- CONFIG_HOTPLUG_PCI_S390
-
Say Y here if you want to use the System z PCI Hotplug driver for PCI devices. Without this driver it is not possible to access stand-by PCI functions nor to deconfigure PCI functions.
When in doubt, say Y.
Depends on S390 && 64BIT.
64BIT is a common code option. S390 is an implicitly selected option.
- CONFIG_HVC_IUCV
-
This driver provides a Hypervisor console (HVC) back-end to access a Linux (console) terminal via a z/VM® IUCV communication path.
- CONFIG_HW_RANDOM_S390
-
This driver provides kernel-side support for the True Random Number Generator available as CPACF extension on modern s390 hardware platforms.
To compile this driver as a module, choose M here: the module will be called s390-trng.
Depends on the common code HW_RANDOM option.
- CONFIG_ISM
-
Select this option if you want to use the Internal Shared Memory vPCI Adapter.
To compile as a module choose M. The module name is ism. If unsure, choose N.
Depends on PCI && SMC.
SMC is a common code option.
- CONFIG_MONREADER
-
Character device driver for reading z/VM monitor service records
Depends on IUCV.
- CONFIG_MONWRITER
-
Character device driver for writing z/VM monitor service records
- CONFIG_NETIUCV
-
Select this option if you want to use inter-user communication vehicle networking under VM or VIF. It enables a fast communication link between VM guests. Using ifconfig a point-to-point connection can be established to the Linux on IBM System z running on the other VM guest. To compile as a module, choose M. The module name is netiucv. If unsure, choose Y.
Depends on IUCV && NETDEVICES.
- CONFIG_QETH
-
This driver supports the IBM OSA-Express network adapters in QDIO mode, HiperSockets™ interfaces and z/VM virtual NICs for Guest LAN and VSWITCH.
To compile this driver as a module, choose M. The module name is qeth.
Depends on CCW && NETDEVICES && IP_MULTICAST && QDIO && ETHERNET.
IP_MULTICAST and ETHERNET are common code options. CCW is an implicitly selected option.
- CONFIG_QETH_L2
-
Select this option to be able to run qeth devices in layer 2 mode. To compile as a module, choose M. The module name is qeth_l2. If unsure, choose y.
Depends on QETH and BRIDGE || BRIDGE=n. BRIDGE is a common code option.
- CONFIG_QETH_L3
-
Select this option to be able to run qeth devices in layer 3 mode. To compile as a module choose M. The module name is qeth_l3. If unsure, choose Y.
Depends on QETH.
- CONFIG_QETH_OSX
-
This enables the qeth driver to support devices in OSX mode. If unsure, choose N.
Depends on QETH.
- CONFIG_S390_AP_IOMMU
-
Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO.
Depends on S390 && ZCRYPT || COMPILE_TEST.
COMPILE_TEST is a common code option. S390 is an implicitly selected option.
- CONFIG_S390_CCW_IOMMU
-
Enables bits of IOMMU API required by VFIO. The iommu_ops is not implemented as it is not necessary for VFIO.
Depends on S390 && CCW || COMPILE_TEST.
COMPILE_TEST is a common code option. S390 and CCW are implicitly selected options.
- CONFIG_S390_TAPE
-
Select this option if you want to access channel-attached tape devices on IBM S/390® or zSeries. If you select this option you will also want to select at least one of the tape interface options and one of the tape hardware options in order to access a tape device. This option is also available as a module. The module will be called tape390 and include all selected interfaces and hardware drivers.
- CONFIG_S390_TAPE_34XX
-
Select this option if you want to access IBM 3480/3490 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here.
Depends on S390_TAPE.
- CONFIG_S390_TAPE_3590
-
Select this option if you want to access IBM 3590 magnetic tape subsystems and 100% compatibles. It is safe to say "Y" here.
Depends on S390_TAPE.
- CONFIG_S390_UV_UAPI
-
Selecting exposes parts of the UV interface to userspace by providing a misc character device at /dev/uv. Using IOCTLs one can interact with the UV. The device is only available if the Ultravisor Facility (158) is present.
- CONFIG_S390_VMUR
-
Character device driver for z/VM reader, puncher and printer.
- CONFIG_SCLP_CONSOLE
-
Include support for using an IBM HWC line-mode terminal as the Linux system console.
Depends on SCLP_TTY.
- CONFIG_SCLP_TTY
-
Include support for IBM SCLP line-mode terminals.
Depends on S390 && TTY.
TTY is a common code option. S390 is an implicitly selected option.
- CONFIG_SCLP_VT220_CONSOLE
-
Include support for using an IBM SCLP VT220-compatible terminal as a Linux system console.
Depends on SCLP_VT220_TTY.
- CONFIG_SCLP_VT220_TTY
-
Include support for an IBM SCLP VT220-compatible terminal.
Depends on S390 && TTY.
TTY is a common code option. S390 is an implicitly selected option.
- CONFIG_SCM_BLOCK
-
Block device driver for Storage Class Memory (SCM). This driver provides a block device interface for each available SCM increment.
To compile this driver as a module, choose M here: the module will be called scm_block.
Depends on S390 && BLOCK && EADM_SCH && SCM_BUS.
S390 is an implicitly selected option.
- CONFIG_SMSGIUCV
-
Select this option if you want to be able to receive SMSG messages from other VM guest systems.
Depends on IUCV.
- CONFIG_SMSGIUCV_EVENT
-
Select this option to deliver CP special messages (SMSGs) as uevents. The driver handles only those special messages that start with "APP".
To compile as a module, choose M. The module name is "smsgiucv_app".
Depends on SMSGIUCV.
- CONFIG_TN3215
-
Include support for IBM 3215 line-mode terminals.
Depends on S390 && TTY.
TTY is a common code option. S390 is an implicitly selected option.
- CONFIG_TN3215_CONSOLE
-
Include support for using an IBM 3215 line-mode terminal as a Linux system console.
Depends on TN3215.
- CONFIG_TN3270
-
Include support for IBM 3270 terminals.
- CONFIG_TN3270_CONSOLE
-
Include support for using an IBM 3270 terminal as a Linux system console. Available only if 3270 support is compiled in statically.
Depends on TN3270=y && TN3270_TTY=y.
- CONFIG_TN3270_FS
-
Include support for fullscreen applications on an IBM 3270 terminal.
Depends on TN3270.
- CONFIG_TN3270_TTY
-
Include support for using an IBM 3270 terminal as a Linux tty.
Depends on S390 && TTY.
TTY is a common code option. S390 is an implicitly selected option.
- CONFIG_VMCP
-
Select this option if you want to be able to interact with the control program on z/VM
- CONFIG_VMCP_CMA_SIZE
-
Specify the default amount of memory in MiB reserved for the z/VM CP interface. If needed this memory is used for large contiguous memory allocations. The default can be changed with the kernel command line parameter "vmcp_cma".
Depends on VMCP.
- CONFIG_VMLOGRDR
-
Select this option if you want to be able to receive records collected by the z/VM recording system services, eg. from *LOGREC, *ACCOUNT or *SYMPTOM. This driver depends on the IUCV support driver.
Depends on IUCV.
- CONFIG_WATCHDOG
-
If you say Y here (and to one of the following options) and create a character special file /dev/watchdog with major number 10 and minor number 130 using mknod ("man mknod"), you will get a watchdog, i.e.: subsequently opening the file and then failing to write to it for longer than 1 minute will result in rebooting the machine. This could be useful for a networked machine that needs to come back on-line as fast as possible after a lock-up. There's both a watchdog implementation entirely in software (which can sometimes fail to reboot the machine) and a driver for hardware watchdog boards, which are more robust and can also keep track of the temperature inside your computer. For details, read <file:Documentation/watchdog/watchdog-api.txt> in the kernel source.
The watchdog is usually used together with the watchdog daemon which is available from <https://ibiblio.org/pub/Linux/system/daemons/watchdog/>. This daemon can also monitor NFS connections and can reboot the machine when the process table is full.
If unsure, say N.
- CONFIG_ZFCP
-
If you want to access SCSI devices attached to your IBM mainframe by means of Fibre Channel Protocol host bus adapters say Y.
Supported HBAs include different models of the FICON Express and FCP Express I/O cards.
For a more complete list, and for more details about setup and operation refer to the IBM publication "Device Drivers, Features, and Commands", SC33-8411.
This driver is also available as a module. This module will be called zfcp. If you want to compile it as a module, say M here and read <file:Documentation/kbuild/modules.rst>.
Depends on: SCSI_LOWLEVEL [=y] && S390 [=y] && QDIO [=m] && SCSI [=y] && SCSI_FC_ATTRS [=m]
SCSI_LOWLEVEL, SCSI, and SCSI_FC_ATTRS are common code options.