Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

/sys/class/mic

FieldValue
SubsystemIntel MIC (Many Integrated Core) coprocessor devices, per the ABI text; implementation file not in cached tree
Config gatenot verifiable from cached tree (no drivers/Kconfig cached)
ABI documentationDocumentation/ABI/testing/sysfs-class-mic (13 What: entries)
Since3.13 (all base entries, October 2013); heartbeat_enable 4.4 (March 2015)
Live (5.10.134 host)class absent: /sys/class/mic does not exist in this container
Ledger IDSYSC-mic

What it represents

Per the ABI: “An Intel MIC device is a PCIe form factor add-in Coprocessor card based on the Intel Many Integrated Core (MIC) architecture that runs a Linux OS.” The class exposes one micX directory per card (mic0, mic1, …), card identity (family, stepping), the card OS boot configuration (firmware, ramdisk, cmdline, bootmode), the card OS state machine, shutdown reason, and a crash-heartbeat switch. The last ABI addition is heartbeat_enable at 4.4 (March 2015); the cached tree contains no newer entries, and with no drivers/ directory cached the current driver status cannot be verified from these sources.

Relationship to the device model

The class directory “belongs to Intel MIC devices and provides information per MIC device”; each micX “has information specific to that MIC device”. The ABI’s debugfs references (log_buf_addr/log_buf_len point at the card OS log buffer read via debugfs) are the only cross-filesystem mentions; no bus or device links are described in the cached text.

Attributes

AttributeR/WUnit/formatConditional?Source
familyROcoprocessor family, e.g. “x100”alwaysABI testing sysfs-class-mic, 3.13
steppingROsilicon stepping, e.g. “A0” or “B0”alwaysABI, 3.13
stateRO/RWread: ready, booting, online, shutting_down, resetting, reset_failed; write: boot, reset, shutdownalwaysABI, 3.13
shutdown_statusROnop, crashed, halted, poweroff, restartalwaysABI, 3.13
cmdlineRWkernel command line for the card OS; read-then-rewrite patternalwaysABI, 3.13
firmwareRWpath under /lib/firmware/ of the card OS imagealwaysABI, 3.13
ramdiskRWpath under /lib/firmware/ of the boot ramdiskalwaysABI, 3.13
bootmodeRW“linux” (boot Linux image) or “flash” (image for flash updates)alwaysABI, 3.13
log_buf_addrRWkernel virtual address of the card OS log buffer (from card System.map)debug aidABI, 3.13
log_buf_lenRWkernel virtual address where the log buffer length is readdebug aidABI, 3.13
heartbeat_enableRW1 enable / 0 disable card-crash notification; enabled by defaultalwaysABI, 4.4

Safety and writes

Writes here boot, reset, or shut down a coprocessor: state accepts boot, reset, and shutdown; firmware/ramdisk/cmdline/bootmode reshape the card OS boot. log_buf_addr and log_buf_len take raw kernel virtual addresses and are meant for the host configuration daemon, not interactive use. Disabling heartbeat_enable pushes crash detection to userspace (“such as a network ping”). No MIC hardware exists here, so no live value was read.

References

  • Documentation/ABI/testing/sysfs-class-mic (cached copy)
  • https://github.com/torvalds/linux/blob/master/Documentation/ABI/testing/sysfs-class-mic
  • sysfs-attrs.json entry mic (13 paths); live enumeration: class absent, kernel 5.10.134
  • Coverage: ledger