Provided by: freebsd-manpages_12.2-1_all bug

NAME

       imcsmb — Intel integrated Memory Controller (iMC) SMBus controller driver

SYNOPSIS

       device pci
       device smbus
       device imcsmb

       Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

             imcsmb_load="YES"

DESCRIPTION

       The  imcsmb  driver  provides  smbus(4)  support for the SMBus controller functionality in the integrated
       Memory  Controllers  (iMCs)  embedded  in  Intel  Sandybridge-Xeon,  Ivybridge-Xeon,  Haswell-Xeon,   and
       Broadwell-Xeon  CPUs.   Each  CPU implements one or more iMCs, depending on the number of cores; each iMC
       implements two SMBus controllers (iMC-SMBs).  The iMC-SMBs are used by the  iMCs  to  read  configuration
       information  from  the  DIMMs  during  POST.  They may also be used, by motherboard firmware or a BMC, to
       monitor the temperature of the DIMMs.

       The iMC-SMBs are not general-purpose SMBus controllers.  By their nature, they are only ever attached  to
       DIMMs, so they implement only the SMBus operations need for communicating with DIMMs.  Specifically:

             -   READB
             -   READW
             -   WRITEB
             -   WRITEW

       A  more  detailed  discussion  of  the  hardware  and  driver  architecture  can  be  found at the top of
       sys/dev/imcsmb/imcsmb_pci.c.

WARNINGS

       As mentioned above, firmware  might  use  the  iMC-SMBs  to  read  DIMM  temperatures.   The  public  iMC
       documentation  does  not  describe  any sort of coordination mechanism to prevent requests from different
       sources -- such as the motherboard firmware, a BMC, or the operating system -- from interfering with each
       other.

       Therefore, it is highly recommended that developers contact the motherboard vendor for any board-specific
       instructions on how to disable and re-enable DIMM temperature monitoring.

       DIMM temperature monitoring should be disabled before returning from  imcsmb_pci_request_bus(),  and  re-
       enabled  before  returning from imcsmb_pci_release_bus().  The driver includes comments to that effect at
       the appropriate locations.  The driver has been tested  and  shown  to  work,  with  only  that  type  of
       modification,  on  certain  motherboards  from  Intel.  (Unfortunately, those modifications were based on
       material covered under a non-disclosure agreement, and therefore are not included in this  driver.)   The
       driver has also been tested and shown to work as-is on various motherboards from SuperMicro.

       The  smb(4) driver will connect to the smbus(4) instances created by imcsmb.  However, since the IMC-SMBs
       are not general-purpose SMBus controllers, using smbmsg(8) with those smb(4) devices is not supported.

SEE ALSO

       jedec_dimm(4), smbus(4)

HISTORY

       The imcsmb driver first appeared in FreeBSD 12.0.

AUTHORS

       The imcsmb driver was originally written for Panasas by Joe Kloss.  It was substantially refactored,  and
       this manual page was written, by
       Ravi Pokala <rpokala@freebsd.org>

Debian                                            March 2, 2018                                        IMCSMB(4)