Device categories and device drivers

6.10 LPAR mode z/VM guest KVM guest

The /sys/devices directory includes several device categories that are specific to z/Architecture®.

Figure 1 illustrates a part of sysfs.

Figure 1. sysfs
This graphic illustrates the part of the sysfs that is described in the text that follows

/sys/bus and /sys/devices are common Linux® directories. The directories following /sys/bus sort the device drivers according to the categories of devices they control. The sysfs branch for a particular category might be missing if there is no device for that category.

AP devices
are adjunct processors used for cryptographic operations.
virtio devices

are virtualized devices as used on KVM guests. This branch lists devices with names virtio<n> that represent the virtio aspects of virtio-ccw devices.

The CCW aspects of virtio-ccw devices are represented by corresponding devices in the /sys/bus/ccw branch, with device bus-IDs as device names. This publication uses the representation in the /sys/bus/ccw branch to work with virtio-ccw devices.

CCW devices
are devices that can be addressed with channel-command words (CCWs). These devices use a single subchannel on the mainframe's channel subsystem.
CCW group devices
are devices that use multiple subchannels on the mainframe's channel subsystem.
IUCV devices
are devices for virtual connections between z/VM® guest virtual machines within an IBM® mainframe. IUCV devices do not use the channel subsystem.
PCI devices
represent PCIe devices, for example, a 10GbE RoCE Express device.  In sysfs, PCIe devices are listed in the /pci directory rather than the /pcie directory.

Table 1 lists the z/Architecture specific device drivers that have representation in sysfs:

Table 1. Device drivers with representation in sysfs
Device driver Category sysfs directories
3215 console CCW /sys/bus/ccw/drivers/3215
3270 console CCW /sys/bus/ccw/drivers/3270
DASD CCW
/sys/bus/ccw/drivers/dasd-eckd
/sys/bus/ccw/drivers/dasd-fba
SCSI-over-Fibre Channel CCW /sys/bus/ccw/drivers/zfcp
Storage class memory supporting Flash Express SCM /sys/bus/scm/drivers/scm_block
Channel-attached tape CCW
/sys/bus/ccw/drivers/tape_34xx
/sys/bus/ccw/drivers/tape_3590
virtio CCW transport device driver CCW /sys/bus/ccw/drivers/virtio_ccw
Cryptographic AP /sys/bus/ap/drivers/cpixcccard /sys/bus/ap/drivers/cpixccqueue /sys/bus/ap/drivers/cex2acard /sys/bus/ap/drivers/cex2aqueue /sys/bus/ap/drivers/cex4card /sys/bus/ap/drivers/cex4queue
DCSS n/a /sys/devices/dcssblk
z/VM recording IUCV /sys/bus/iucv/drivers/vmlogrdr
NETIUCV IUCV /sys/bus/iucv/drivers/netiucv
qeth (OSA-Express features and HiperSockets ) CCW group /sys/bus/ccwgroup/drivers/qeth
LCS CCW group /sys/bus/ccwgroup/drivers/lcs
CTCM CCW group /sys/bus/ccwgroup/drivers/ctcm
10GbE RoCE Express devices for Mellanox ConnectX-3 EN (mlx4_en) PCI /sys/bus/pci/drivers/mlx4_core
10 GbE RoCE Express2 devices for Mellanox ConnectX-4 EN (mlx5_core) PCI /sys/bus/pci/drivers/mlx5_core
Internal Shared Memory PCI /sys/bus/pci/drivers/ism
NVMe PCI /sys/bus/pci/drivers/nvme

Some device drivers do not relate to physical devices that are connected through the channel subsystem. Their representation in sysfs differs from the CCW and CCW group devices, for example, the IUCV device driver and the IUCV-dependent z/VM recording device driver have their own category, IUCV.

The following sections provide more details about devices and their representation in sysfs.