cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

abituguru.rst (3843B)


      1Kernel driver abituguru
      2=======================
      3
      4Supported chips:
      5
      6  * Abit uGuru revision 1 & 2 (Hardware Monitor part only)
      7
      8    Prefix: 'abituguru'
      9
     10    Addresses scanned: ISA 0x0E0
     11
     12    Datasheet: Not available, this driver is based on reverse engineering.
     13    A "Datasheet" has been written based on the reverse engineering it
     14    should be available in the same dir as this file under the name
     15    abituguru-datasheet.
     16
     17    Note:
     18	The uGuru is a microcontroller with onboard firmware which programs
     19	it to behave as a hwmon IC. There are many different revisions of the
     20	firmware and thus effectively many different revisions of the uGuru.
     21	Below is an incomplete list with which revisions are used for which
     22	Motherboards:
     23
     24	- uGuru 1.00    ~ 1.24    (AI7, KV8-MAX3, AN7) [1]_
     25	- uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO)
     26	- uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8)
     27	- uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty)
     28	- uGuru 2.3.0.0 ~ 2.3.0.9 (AN8)
     29	- uGuru 3.0.0.0 ~ 3.0.x.x (AW8, AL8, AT8, NI8 SLI, AT8 32X, AN8 32X,
     30	  AW9D-MAX) [2]_
     31
     32.. [1]  For revisions 2 and 3 uGuru's the driver can autodetect the
     33	sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's
     34	this does not always work. For these uGuru's the autodetection can
     35	be overridden with the bank1_types module param. For all 3 known
     36	revision 1 motherboards the correct use of this param is:
     37	bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1
     38	You may also need to specify the fan_sensors option for these boards
     39	fan_sensors=5
     40
     41.. [2]  There is a separate abituguru3 driver for these motherboards,
     42	the abituguru (without the 3 !) driver will not work on these
     43	motherboards (and visa versa)!
     44
     45Authors:
     46	- Hans de Goede <j.w.r.degoede@hhs.nl>,
     47	- (Initial reverse engineering done by Olle Sandberg
     48	  <ollebull@gmail.com>)
     49
     50
     51Module Parameters
     52-----------------
     53
     54* force: bool
     55			Force detection. Note this parameter only causes the
     56			detection to be skipped, and thus the insmod to
     57			succeed. If the uGuru can't be read the actual hwmon
     58			driver will not load and thus no hwmon device will get
     59			registered.
     60* bank1_types: int[]
     61			Bank1 sensortype autodetection override:
     62
     63			  * -1 autodetect (default)
     64			  *  0 volt sensor
     65			  *  1 temp sensor
     66			  *  2 not connected
     67* fan_sensors: int
     68			Tell the driver how many fan speed sensors there are
     69			on your motherboard. Default: 0 (autodetect).
     70* pwms: int
     71			Tell the driver how many fan speed controls (fan
     72			pwms) your motherboard has. Default: 0 (autodetect).
     73* verbose: int
     74			How verbose should the driver be? (0-3):
     75
     76			   * 0 normal output
     77			   * 1 + verbose error reporting
     78			   * 2 + sensors type probing info (default)
     79			   * 3 + retryable error reporting
     80
     81			Default: 2 (the driver is still in the testing phase)
     82
     83Notice: if you need any of the first three options above please insmod the
     84driver with verbose set to 3 and mail me <j.w.r.degoede@hhs.nl> the output of:
     85dmesg | grep abituguru
     86
     87
     88Description
     89-----------
     90
     91This driver supports the hardware monitoring features of the first and
     92second revision of the Abit uGuru chip found on Abit uGuru featuring
     93motherboards (most modern Abit motherboards).
     94
     95The first and second revision of the uGuru chip in reality is a Winbond
     96W83L950D in disguise (despite Abit claiming it is "a new microprocessor
     97designed by the ABIT Engineers"). Unfortunately this doesn't help since the
     98W83L950D is a generic microcontroller with a custom Abit application running
     99on it.
    100
    101Despite Abit not releasing any information regarding the uGuru, Olle
    102Sandberg <ollebull@gmail.com> has managed to reverse engineer the sensor part
    103of the uGuru. Without his work this driver would not have been possible.
    104
    105Known Issues
    106------------
    107
    108The voltage and frequency control parts of the Abit uGuru are not supported.
    109
    110.. toctree::
    111   :maxdepth: 1
    112
    113   abituguru-datasheet.rst