.\" .\" This file and its contents are supplied under the terms of the .\" Common Development and Distribution License ("CDDL"), version 1.0. .\" You may only use this file in accordance with the terms of version .\" 1.0 of the CDDL. .\" .\" A full copy of the text of the CDDL should have accompanied this .\" source. A copy of the CDDL is also available via the Internet at .\" http://www.illumos.org/license/CDDL. .\" .\" .\" Copyright 2019 Joyent, Inc. .\" .Dd June 25, 2019 .Dt IMC 4D .Os .Sh NAME .Nm imc .Nd Intel memory controller driver .Sh SYNOPSIS .Pa /dev/mc/mc* .Sh DESCRIPTION The .Nm driver interfaces with the memory controller found on certain generations of Intel CPUs and provides a means for decoding physical addresses to the corresponding memory device. The .Nm driver plugs into the operating systems fault management framework providing additional details to the system about the memory topology and the ability to decode physical addresses into the corresponding portion of the memory hierarchy. .Pp The .Nm driver is supported on the following Intel processors: .Bl -bullet -offset indent -width Sy .It Sandy Bridge E5 and E7 Xeon Processors .It Ivy Bridge E5 and E7 Xeon Processors .It Haswell E5 and E7 Xeon Processors .It Broadwell E5 and E7 Xeon Processors .It Skylake Xeon Scalable Processors .It Cascade Lake Xeon Scalable Processors .It Broadwell and Skylake Xeon-D processors .El .Pp Other lines involving the above microarchitectures, such as Xeon E3 branded processors, are not supported as they do not provide the necessary hardware support. .Pp The .Nm driver is a pseudo-device driver that amalgamates all of the different .Xr imcstub 4D instances into a coherent view. The .Xr imcstub 4D driver attaches to all of the different PCI devices that the processor exposes. .Pp One challenge with the .Nm driver is the Intel Enhanced Machine Check Architecture v2 .Pq EMCAv2 . Many vendors use EMCAv2 to hide memory errors from the operating system. Such systems limit the effectiveness of the .Nm driver and the fault management architecture by hiding correctable and uncorrectable DIMM errors from the operating system. .Pp The .Nm driver has a few limitations. Currently it does not always properly handle lockstep and mirroring mode, particularly in variants that are common on Skylake and newer systems. It also does not properly handle cases where Intel Optane NVDIMMs are in use on the memory bus. .Sh ARCHITECTURE The .Nm driver is only supported on specific Intel .Sy x86 systems. .Sh FILES .Bl -tag -width Pa .It Pa /platform/i86pc/kernel/drv/amd64/imc 64-bit device driver (x86). .It Pa /platform/i86pc/kernel/drv/imc.conf Driver configuration file. .El .Sh SEE ALSO .Xr imcstub 4D , .Xr fmadm 8 , .Xr fmdump 8