linux/drivers/edac/i7core_edac.c
<<
>>
Prefs
   1/* Intel i7 core/Nehalem Memory Controller kernel module
   2 *
   3 * This driver supports the memory controllers found on the Intel
   4 * processor families i7core, i7core 7xx/8xx, i5core, Xeon 35xx,
   5 * Xeon 55xx and Xeon 56xx also known as Nehalem, Nehalem-EP, Lynnfield
   6 * and Westmere-EP.
   7 *
   8 * This file may be distributed under the terms of the
   9 * GNU General Public License version 2 only.
  10 *
  11 * Copyright (c) 2009-2010 by:
  12 *       Mauro Carvalho Chehab <mchehab@redhat.com>
  13 *
  14 * Red Hat Inc. http://www.redhat.com
  15 *
  16 * Forked and adapted from the i5400_edac driver
  17 *
  18 * Based on the following public Intel datasheets:
  19 * Intel Core i7 Processor Extreme Edition and Intel Core i7 Processor
  20 * Datasheet, Volume 2:
  21 *      http://download.intel.com/design/processor/datashts/320835.pdf
  22 * Intel Xeon Processor 5500 Series Datasheet Volume 2
  23 *      http://www.intel.com/Assets/PDF/datasheet/321322.pdf
  24 * also available at:
  25 *      http://www.arrownac.com/manufacturers/intel/s/nehalem/5500-datasheet-v2.pdf
  26 */
  27
  28#include <linux/module.h>
  29#include <linux/init.h>
  30#include <linux/pci.h>
  31#include <linux/pci_ids.h>
  32#include <linux/slab.h>
  33#include <linux/delay.h>
  34#include <linux/dmi.h>
  35#include <linux/edac.h>
  36#include <linux/mmzone.h>
  37#include <linux/smp.h>
  38#include <asm/mce.h>
  39#include <asm/processor.h>
  40#include <asm/div64.h>
  41
  42#include "edac_core.h"
  43
  44/* Static vars */
  45static LIST_HEAD(i7core_edac_list);
  46static DEFINE_MUTEX(i7core_edac_lock);
  47static int probed;
  48
  49static int use_pci_fixup;
  50module_param(use_pci_fixup, int, 0444);
  51MODULE_PARM_DESC(use_pci_fixup, "Enable PCI fixup to seek for hidden devices");
  52/*
  53 * This is used for Nehalem-EP and Nehalem-EX devices, where the non-core
  54 * registers start at bus 255, and are not reported by BIOS.
  55 * We currently find devices with only 2 sockets. In order to support more QPI
  56 * Quick Path Interconnect, just increment this number.
  57 */
  58#define MAX_SOCKET_BUSES        2
  59
  60
  61/*
  62 * Alter this version for the module when modifications are made
  63 */
  64#define I7CORE_REVISION    " Ver: 1.0.0"
  65#define EDAC_MOD_STR      "i7core_edac"
  66
  67/*
  68 * Debug macros
  69 */
  70#define i7core_printk(level, fmt, arg...)                       \
  71        edac_printk(level, "i7core", fmt, ##arg)
  72
  73#define i7core_mc_printk(mci, level, fmt, arg...)               \
  74        edac_mc_chipset_printk(mci, level, "i7core", fmt, ##arg)
  75
  76/*
  77 * i7core Memory Controller Registers
  78 */
  79
  80        /* OFFSETS for Device 0 Function 0 */
  81
  82#define MC_CFG_CONTROL  0x90
  83  #define MC_CFG_UNLOCK         0x02
  84  #define MC_CFG_LOCK           0x00
  85
  86        /* OFFSETS for Device 3 Function 0 */
  87
  88#define MC_CONTROL      0x48
  89#define MC_STATUS       0x4c
  90#define MC_MAX_DOD      0x64
  91
  92/*
  93 * OFFSETS for Device 3 Function 4, as indicated on Xeon 5500 datasheet:
  94 * http://www.arrownac.com/manufacturers/intel/s/nehalem/5500-datasheet-v2.pdf
  95 */
  96
  97#define MC_TEST_ERR_RCV1        0x60
  98  #define DIMM2_COR_ERR(r)                      ((r) & 0x7fff)
  99
 100#define MC_TEST_ERR_RCV0        0x64
 101  #define DIMM1_COR_ERR(r)                      (((r) >> 16) & 0x7fff)
 102  #define DIMM0_COR_ERR(r)                      ((r) & 0x7fff)
 103
/* printk(>  65#define SR=MC_CONTROL" class="sref">SR=MC_CONLOCK           0x48
6 102  #define 7 102  #define >  98  #define >  99
        0x4c
MCRTSCRUBLOCK" class="sr>MCRTSCRUBLOCK        (1lude ude  247fff)
M0_CCf">NT__RCV0" class="sref">M0_CCf">NT__RCV0      8 0x00
M0_CCf">NT__RCV1" class="sref">M0_CCf">NT__RCV0      8 0x64
  16#define M0_CCf">NT_2RCV1" class="sref">M0_CCf">NT_2RCV0      8 0x48
M0_CCf">NT_3RCV1" class="sref">M0_CCf">NT_3RCV0      8 0x4c
NT_4RCV1" class="sref">M0_CCf">NT_4RCV0        0x90
M0_CCf">NT_5RCV1" class="sref">M0_CCf">NT_5RCV0        0x64
  21a>  #define _TOPIMM0_COR_ERR(r)                     (((r) >> 16) & 0x7fff)
_BOTIMM0_COR_ERR" class="sref">_BOTIMM0_COR_ERR(r)                     ((r) & 0x7fff)
  24
/* printk(
HANNEL_ef">_INITDULEAMTATUS" class="sref">HANNEL_ef">_INITDULEAMTRCV0<0x5 0x48
S_PRESENTATUS" class="srTHREE_ef">S_PRESENTLOCK       (1lude ude  247fff)
  29  #define ATUS" class="srREGISTERED_ef">LOCK           (1lude ude  157fff)
  73#define HANNEL_MAPPER_ERR" class="sref">HANNEL_MAPPERATUS       0x60
rpan>, r)      (    (((r) >&(3 +   (((r * 6))) &07) - 17fff)
rpan>, r)      (    (((r) >&( (((r * 6))/a>) &07) - 17fff)
HANNEL_RANK_PRESENTATUS" class="srode>HANNEL_RANK_PRESENTRCV0<0x7 0x4c
HANNEL_ADDR_MATCHATUS" class="srode>HANNEL_ADDR_MATCHLOCKHANNEL_COROR_MAS_LOCK" class="srode>HANNEL_COROR_MAS_LOCK  84  #define /* printk(
H_ef">_RCV0" class="sref"DODe>H_ef">_LOCK         0x48
H_ef">_RCV1" class="sref"DODe>H_ef">_LOCK         0x4c
H_ef">2RCV1" class="sref"DODe>H_ef">2LOCK       5 0x00
/* pr_MAS_LOCK" class="srRANK>/* pr_MAS_LOCK   ((1lude ude  12) | (1lude ude  11) | (1lude ude  10)7fff)
/* prLOCK" class="srRANK>/* pr_ERR(r)        (((r/a>) &aine _PRESENT_MAS_LOCK" class="sref">_PRESENT_MAS_LOCK (1lude ude  97fff)
_PRESENTLOCK" class="sref">_PRESENT_ERR(r)       (((r) &aine _PRESENT_MAS_LOCK" class="sref">_PRESENT_MAS_LOCK) >&97fff)
r)     )       (((r) &aine r)     )       (((r) &aine   #define r)     )        (((r) &aine r)     )       (((r) &aine   70#define H__RCV0" class="sref"SAGe>H__RCV0   8 0x00
  73#define H__RCV1" class="sref"SAGe>H__RCV0   8 0x64
H_2RCV1" class="sref"SAGe>H_2RCV0   8 0x48
AGe>H_3RCV1" class="sref">AGe>H_3RCV0   8 0x4c
AGe>H_4RCV1" class="sref">AGe>H_4RCV0     0x90
AGe>H_5RCV1" class="sref">AGe>H_5RCV0     0x64
AGe>H_6RCV1" class="sref">AGe>H_6RCV0     0x48
H_7RCV1" class="sref">AGe>H_7RCV0     0x4c
H__RCV0" class="sref"RIR_LIMITe>H__ATUS     4 0x90
  82#define H__ATUS     4 0x64
H_2RCV1" class="sref"RIR_LIMITe>H_2ATUS     4 0x48
H_3RCV1" class="sref"RIR_LIMITe>H_3ATUS     4C0x48
H_4RCV1" class="sref"RIR_LIMITe>H_4ATUS     5 0x00
H_5RCV1" class="sref"RIR_LIMITe>H_5ATUS     5 0x64
H_6RCV1" class="sref"RIR_LIMITe>H_6ATUS     5 0x48
  88#define H_7ATUS     5C0x48
  89#define /* pr_MAS_LOCK" class="srodeRIR_WAY_>/* pr_MAS_LOCK    (((1lude ude  14) - 17/a>) &a~0x77fff)
  95/*
 * i7cstructsters
 */
HANTATUS" class="srNUMe>HANTLOCK<30x00
 100#define STROL" class="srMAC_Mf">SLOCK<3a>)     )    S per channelnt"> */
HAN_FUN_DESC" class="sreAC_>HAN_FUN_LOCK<30x00
 103
        usRCV1" class="srdacusATUS>>
    >  98    >  99}>>
i7cinjec_LOCK<{
 */
  21}>>
    tic /a>                   74        mci>>
i7cpv_LOCK<{
HANTATUS" class="srNUMe>HANTLOCK][ine i7cinjec_LOCK<   HANTATUS" class="srNUMe>HANTLOCK]>>
 */
    unsigned long   STROL" class="srMAC_Mf">SLOCK]>>
STROL" class="srMAC_Mf">SLOCK]>>
 */
HANTATUS" class="srNUMe>HANTLOCK][ine STROL" class="srMAC_Mf">SLOCK]>>
STROL" class="srMAC_Mf">SLOCK]>>
 */
 */
    structfine   95
 80" id="L80" c6x"v2.acore_edac./i7core_edac.c#L3c#L101" i3="L101" class="line" nam3="L10301RCV0    {fine  103

    {fine     {fine     {fine     {fine   99


 */
/*
 * i7c55, on"Xeon"35xx (8086:2c41)">/*
/*
/*
/*
 */
ic const structfine     {fine  */
/*

 */
 80" id="L80" c6x"v2.acore_edac./i7core_edac.c#L3.c#L60" i3d="L60" class="line" nam3e="L6360RCV0    {fine 
    {fine 

 */
    ine  */
 */
 */
 */
 */
 103 /a>us routines> */
  95 */
  96
     /a> */
  #define   99a>  #define  */
uy ConDESC" class=" uy Con  74<& (1 <41))
uy ConDESC" class=" uy Con  74<& (1 < n>,      /a> */
  TUS, .n>,   TUS, .n>, 
  21}>>
, , >
  TUS, .n>, 
  56  TUS, .n>,   21}>>
, , >

  56  TUS, .n>, 
  56  TUS, .n>, 
, , >
  56  TUS, .n>, 
  56  TUS, .n>, 
  21}>>
, , >
  72
, 
nst structfine >
  96
, 

>
, >
, 
nst structfine >
  99
, >
>
>
    ine >

>
>
, >
>
, >
nst structfine >
>
>
>
 */
us routines> */
 */
>
>
nst structfine >
  TUS, .n>, , >
, , >
, , >
nst structfine >
>
>
>
  72
     /a> */
    ine ,     ine , uy ConDESC" class=" )ILOCK]>>
    ine , )ILOCK]>>
, )ILOCK]>>
     /a>ning">"QPI %dMemory _=0x%08xillary =0x%08xidon=0x%08ximap=0x%08x\n"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5c.c#L3.c#520" i3d="L20" class="lin5" nam52="L9390RCV0, uy ConDESC" class=" LOCK, n>, LOCK, n>, )ILOCK]>>
  72
      a>    ine      /a>ning">"ss= ene_idd with x%dMSDCC\n"itint">1>  #define >
>
     /a>ning">"ss= dise_idd\n"itint">)ILOCK]>>
>

     /a> */
    ine      /a>ning">"sOD Max limits: DIMMS: %d, %d-ranked, %d-banked x%x x 0x%x\n"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5c.c#L3.c#516" i3d="L36" class="lin5" nam53="L5356RCV0        ine )1TUS)},80" c6x"v2.acore_edac./i7core_ed5cedac4c7L537" i3d="L37" class="lin5" nam53="L7377RCV0,  rpv_rpv_ 2)1TUS)},80" c6x"v2.acore_edac./i7core_ed5cedac4c8L528" i3d="L38" class="lin5" nam5e="L3338RCV0,  rpv_rpv_ 4)1TUS)},80" c6x"v2.acore_edac./i7core_ed5c.c#L3.9L519" i3d="L39" class="lin5" nam53="L6369RCV0    ,  rpv_rpv_ 6)1TUS)},80" c6x"v2.acore_edac./i7core_ed5c.c#L3.c#540" i3d="L40" class="lin5" nam54="L9390RCV0,  rpv_rpv_ 9))ILOCK]>>
, , , 
, LOCK, n>, >
>

     /a>ning">"Channel %i is not acta h\n"itint">1>  #define >

        ine      /a>ning">"Channel %i is dise_idd\n"itint">1>  #define >
      ////////ass=inueILOCK]>>
  96
vILOCK]>>
uy Con US<=&( (((v2>  91
        ine , , >
uy Con US<=&( (((v2>  91
, , >
uy Con US<=&( (((v2>  91
, , >
uy Con US<=&( (((v2>  91
>
>
      ////////a>    ine >
      a>    ine      /a>ning">"Ch%dMphy rd%d, wr%dM(0x%08x): %s%s%s%c"sMMs\n"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5_edac3.c#575" i3d="L85" class="lin5" nam58="L7375RCV0                < n>, 1>  #define   #define 1>  #define LTUS)},80" c6x"v2.acore_edac./i7core_ed5_.c#L3.c#568" i3=="L18" class="lin5" nam58="L3338RCV0    ine , ,      /a>ning">"3DIMMS "itint"> : 0>     /a>ning">""itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5_edac3.c#549" i3d="L89" class="lin5" nam58="L5359RCV0            ine , ,      /a>ning">"SINGLE_4R "itint"> : 0>     /a>ning">""itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5c.c#L3.c#590" i3d="L90" class="lin5" nam59="L9390RCV0    ine , ,      /a>ning">"HAS_4R "itint"> : 0>     /a>ning">""itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed5cedac3.c#581" i3d="L91" class="lin5" nam59="L8381  74      OOOOOOOOOTUS<=&( (((uy Con US<=&( (((vu? 0>     /a>ning">'R'itint"> : 0>     /a>ning">'U'itint">vILOCK]>>
  72
, , 
      ////////a>    ine   #define   #define   #define >
  #define >
  96
>
  99
  #define LTUS)},80" c6x"v2.acore_edac./i7core_ed6_edac4c#L601" i4="L101" class="lin6" nam60="L8381  74      OOOOOOOOO7RCV0, >
>
        ine >
      ////////a>    ine >
>
  96

>
  99
     /a>ning">"\ts="s %dM%dMMb offset: %x, bank: %d, rank: %d, row: %#x, c+c: %#x\n"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed6_edac4c#L611" 43=="L11" class="lin6" na461="L8381  74      / 57RCV0,       #define   #define   #define >
>
  96
>

>
    
      O        ///////C21 ine >
>
>
  72
        ine sizeofA 21 ine       O        /////// 0>     /a>ning">"CPU#%uChannel#%ueDIMM#%u"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed6c.c#L3.c#615" i3d="L35" class="lin6" nam63="L7375RCV0      a>    , , >
>
>
>
, >
, >
, , >
      a>    ine , >
, >
, >
, >
, >
     /a>ning">"\t[%i] DIVBY3\tREMOVED\tOFFSEU\n"itint">1>  #define >
, , >
     /a>ning">"\t\t%#x\t%#x\t%#x\n"itint">1TUS)},80" c6x"v2.acore_edac./i7core_ed6_edac3.c#652" i3d="L52" class="lin6" nam65="L7372RCV0,     ,       /////////////////A 21 ine , >
  96
  99


nuctLOCK =fine , >




nuctLOCK =fine >

>
  96
,   96
, >
>
,     , >



     /a>cRCV0
     /a>celnion 0 */
s/eref="+cuv_list"vers/edinje"s_se"srfu_s>s/eTABLAs>nuctLOCK =fine LOCK, n>, >
  96
>
>
>
, >
>
  96
ni"s_strtoulef="+confoDESC"s>ni"s_strtoulTABLA 21 ine LO10LOy Con 21 ine >
>
>
, >
>

nuctLOCK =fine )LOCK]>>
  96
>
LOC>     /a>ning">"0x%08x\n"itint">1>  #define ,   96
     /a>




s/eref="+cuv_list"vers/edinje"s_typd_s>s/eTABLAs>nuctLOCK =fine     nuctLOCK =fine       O        /////// ///////cssst char *OCK =fine LOCK, n>, >
  96
>
>
>
, >
>
ni"s_strtoulef="+confoDESC"s>ni"s_strtoulTABLA 21 ine LO10LOy Con 21 ine >
>
>
, >
>
nuctLOCK =fine     nuctLOCK =fine       ///////////////////////char *OCK =fine )LOCK]>>
  96
>
LOC>     /a>ning">"0x%08x\n"itint">1>  #define ,   96
     /a>cRvers/edinje"s_inje"s.eccmask_s>s/eTAion 0 */
     /a>cTAion 0 */



s/en_devsaram" clavers/edinje"s_eccmask_s>s/eTABLAs>nuctLOCK =fine     nuctLOCK =fine       O        /////// /////// //cssst char *OCK =fine LOCK, n>, >
  96
>
>
>
, >
>
ni"s_strtoulef="+confoDESC"s>ni"s_strtoulTABLA 21 ine LO10LOy Con 21 ine >
>
>
, >
>
nuctLOCK =fine     nuctLOCK =fine       O        /////// /////// /char *OCK =fine )LOCK]>>
  96
>
LOC>     /a>ning">"0x%08x\n"itint">1>  #define ,   96
     /a>cRvers/edaddrmatefrdion 0 */
     /a>cTAion 0 */



LOCK, n>, 
s/e_n_devsaram" clavers/edinje"s_s>s/e_"L93## ars=(                     \ */
      O        /////// /////// /\ */

LOCK, n>, 




    
     /a>ning">"\n"itint">)(/////// /////// //////// /////// /// /\ */

, 
    , 
ncasecmpef="+confoDESC"s>ncasecmpTABLA 21 ine LOC>     /a>ning">"any"itint">) ||/!tructfine ncasecmpef="+confoDESC"s>ncasecmpTABLA 21 ine LOC>     /a>ning">"any\n"itint">))\ */
    , 
ni"s_strtoulef="+confoDESC"s>ni"s_strtoulTABLA 21 ine LO10LOy Con 21 ine 
      ifATA 21 ine 

, usLOCK =fine 

, 
nuctLOCK =fine       O        /////// /////// /\ */

)4      O        /////// /////// /////// /\ */



     /a>ning">" cl=%p\n"itint">1>  #define 
, up; (10) ////// //////// /////// /// /\ */
      returnLOCK =fine LOC>     /a>ning">"any\n"itint">)I////////////// ///\ */
LOC>     /a>ning">"%d\n"itint">1>  #define , );\ */
)4      O        /////// //////\ */
LOCK, n>, , 
    
s/e_n_devsaram" clavers/edinje"s_s>s/e_"L93## ars=)LOCK]>>
,   96
  96
  96
  96
  96
  96
  96
  96
  96
,   96
  96
  96
nuctLOCK =fine   87

>
     /a>ning">"settingipci %02x:%02x.%x reg=%02x valuh=%08x\n"itint">1 */
      LOCK =fine LOCK, n>, , 
>

    >
  96
>
    , >
  87
      O       returnL0ILOCK]>>
LOC>     /a>ning">"Error duning set pci %02x:%02x.%x reg=%02x "itint">LOCK]>>
         /a>ning">"write=%08x. Read=%08x\n"itint">1 */
LOCK, n>, , 
>
>





     /a>clnion 0 */
     /a>c It should b inoticed that the error will only happh  after a write operasionlnion 0 */



, s/en_devsaram" clavers/edinje"s_ene_id_s>s/eTABLAs>nuctLOCK =fine       O                         s>nuctLOCK =fine LOCK, n>, 
>
>
>
>
>
[tructfine , ni"s_strtoulef="+confoDESC"s>ni"s_strtoulTABLA 21 ine LO10LOy Con 21 ine >

, >
>
       21 ine >
>

, >
>
, , >
    , >
      elseLOCK]>>
, >

, >
>
, , >
    , >
      elseLOCK]>>
, >

, >
>
, >
     /a>
, >
>
>
    , , >

, >
>
>
       TUSpan>, , >
     /a>
, 
      O    TUS<=&( (((, 
, >
  96
>  96
100="L8381  74[tructfine , 100="L7372RCV0,   96
1003"L9390RCV0[tructfine , 1004"L8381  74      O              LOCK)->ine ,   96
100="L73LOCK]>>
1006"L9390RCV0[tructfine , 1007"L8381  74      O              LOCK)->ine , ,   96
100="L636>  48
100="L5359RCV0[tructfine , 10"L"L8381  74      O              LOCK)->ine ,   96
10"="L232>  91
10"="L7372RCV0     /a>
10"3"L93C>     /a>>>>>>>>>c This is somctfing undocuclased, based on my tessslnion 0 */
10"4"L83C>     /a>>>>>>>>>c Without writing 8 io isis registhr, errors aren'tiinje"sed. Not su/eTAion 0 */
10"="L73C>     /a>>>>>>>>>c why.lnion 0 */
10"="L53C>     /a>>>>>>>>>celnion 0 */
10"="L7377RCV010"8"L5356RCV0      96
10"="L63LOCK]>>
1020"L7377RCV0     /a>ning">"Error inje"s addr matef 0x%016llx, ecc 0x%08x, inje"s 0x%08x\n"itint">1 */
1021"L5356RCV0    , , , ,   96
102="L73 */
102="L939> 103
1024"L8381  74>
102="L73ATUS) }
102="L53LOCK]>>
102="L73ass=ic CK, n>, nuctLOCK =fine 1028"L5356RCV0    nuctLOCK =fine 102="L5359RCV0    )LOCK]>>
1030ULOCK]>>
1031"L5356RCV0nuctLOCK =fine 
1032"L5356RCV0nuctLOCK =fine >
1033"L9390RCV0>
1034"L83TUS) }
1035"L5359RCV0[tructfine , 103="L5356RCV0    >
103="L434>  87
103="L3338RCV0[tructfine , 103="L5359RCV0      96
1040"L434>  87
104="L8381  74     /a>ning">"Inje"s error read: 0x%018x\n"itint">1  TUSpan>,   96
104="L73 */
1043"L5359RCV0, 1044"L8381  74       TUSpan>, , >
104="L73LOCK]>>
104="L5356RCV0LOC>     /a>ning">"%d\n"itint">1  TUSpan>, ,   96
1047"L73ATUS) }
104="L636>  48
104="L53#def" c  TUSpan>,       48
1050"L73ass=ic CK, n>,   48
1051"L5356RCV0nuctLOCK =fine       48
1052"L5356RCV0nuctLOCK =fine   48
1053"L5359RCV0)59RCV0      48
1054"L83{59RCV0      48
1055"L5356RCV0nuctLOCK =fine   48
1056"L5356RCV0nuctLOCK =fine   48
1057"L8381  74      O              /////////////////////////////////\6>  48
105="L3338RCV0     /a>ning">"\n"itint">)(//////////////////////////////////////\6>  48
105="L5359RCV0  48
1060"L5356RCV0    LOC>     /a>ning">"sata unavaile_id\n"itint">)(/////\6>  48
1061"L5356RCV0LOC>     /a>ning">"%lu\n"itint">1 //////////////////////////\6>  48
106="L7372RCV0[tructfine   48
1063"L93ATUS) }
1064"L83TUS) }
1065"L53#def" c  TUSpan>,       48
1066"L5356RCV0s=ic CK, n>, , ,   48
1067"L8381  74      O   OCK =fine   48
1068"L5356RCV0    )LOCK]>>
106="L63LOCK]>>
1070"L63 TUSpan>,   96
1071"L63 TUSpan>, >
1072"L63 TUSpan>,   96
107="L939> 103
1074"L63 TUSpan>,   96
1075"L63 TUSpan>, >
1076"L63 TUSpan>,   96
107="L434>  87
107="L33C>     /a>
107="L53C>     /a>c inje"s_addrmatef ef=CI  sysfs/s>nuctlnion 0 */
1080"L53C>     /a>celnion 0 */
108="L232>  91
1082"L73ass=ic s>nuctLOCK =fine [] = ULOCK]>>
1083"L5359RCV0, 1084"L5359RCV0, 1085"L5359RCV0, 1086"L5359RCV0, 1087"L5359RCV0, 1088"L5359RCV0, 108="L5359RCV0TUS)},80" c6x"v2.acore_edac./i7core_ed1090c#L3.c#1090" i3d="L90" class="lin1090">1090"L93A(0>  96
109="L232>  91
1092"L73ass=ic s>nuctLOCK =fine >
1093"L5359RCV0,  usLOCK =fine 1TUS)},80" c6x"v2.acore_edac./i7core_ed1094c#L3.c#1084" i3d="L94" class="lin1084">1094"L93A(0>  96
109="L73LOCK]>>
1096"L73ass=ic cssst s>nuctLOCK =fine [] = ULOCK]>>
1097"L5359RCV0109="L3338RCV0TUS)},80" c6x"v2.acore_edac./i7core_ed1099c#L3.c#1049" i3d="L99" class="lin1049">1099"L93A(0>  96
  87
110="L83ass=ic void7OCK =fine nuctLOCK =fine >
110="L73ULOCK]>>
1103"L9390RCV0     /a>ning">"Releasing ef=CI  %s\n"itint">1  TUSpan>,   96
1104"L8381  74  96
110="L73ATUS) }
110="L53LOCK]>>
1107"L73ass=ic s>nuctLOCK =fine >
1108"L5359RCV0,    1TUS)},80" c6x"v2.acore_edac./i7core_ed1109c#L3.c#1109" i3d="L99" class="lin1109">110="L5359RCV0, 1110"L93A(0>  96
11"="L232>  91
11"="L73C>     /a>
11"3"L93C>     /a>* all_channel_couass sysfs/s>nuctlnion 0 */
11"4"L83C>     /a>celnion 0 */
111="L73LOCK]>>
1116"L73ass=ic s>nuctLOCK =fine [] = ULOCK]>>
1117"L5359RCV0, 1118"L5359RCV0, 1119"L5359RCV0, 1120"L7377RCV0TUS)},80" c6x"v2.acore_edac./i7core_ed1121c#L3.c#1121" i3d="L21" class="lin1121">1121"L53A(0>  96
112="L73 */
112="L93ass=ic s>nuctLOCK =fine >
1124"L8381  74,  usLOCK =fine 1TUS)},80" c6x"v2.acore_edac./i7core_ed1125c#L3.c#1115" i3d="L25" class="lin1115">112="L73A(0>  96
112="L53LOCK]>>
112="L73ass=ic cssst s>nuctLOCK =fine [] = ULOCK]>>
1128"L5359RCV0112="L5359RCV0TUS)},80" c6x"v2.acore_edac./i7core_ed1130c#L3.c#1130" i3d="L30" class="lin1130">1130"L93A(0>  96
113="L232>  91
1132"L73ass=ic void7OCK =fine nuctLOCK =fine >
1133"L93ULOCK]>>
1134"L8381  74     /a>ning">"Releasing ef=CI  %s\n"itint">1  TUSpan>,   96
1135"L5359RCV0  96
113="L53ATUS) }
113="L434>  87
113="L33ass=ic s>nuctLOCK =fine >
113="L5359RCV0,    1TUS)},80" c6x"v2.acore_edac./i7core_ed1140c#L3.c#1140" i3d="L40" class="lin1140">1140"L5359RCV0, 1141"L53A(0>  96
114="L73 */
1143"L93C>     /a>
1144"L83C>     /a>c inje"s sysfs/attribut slnion 0 */
114="L73C>     /a>celnion 0 */
114="L53LOCK]>>
114="L73ass=ic CK, n>, , , >
1148"L5356RCV0    ,   96
114="L63LOCK]>>
1150"L73ass=ic CK, n>, , , >
1151"L5356RCV0    ,   96
115="L73 */
115="L939> 103
1154"L83ass=ic CK, n>, , , >
1155"L5356RCV0    ,   96
115="L53LOCK]>>
115="L73ass=ic CK, n>, , , >
1158"L5356RCV0    ,   96
115="L63LOCK]>>
1160"L73ass=ic intLOCK =fine nuctLOCK =fine >
1161"L53ULOCK]>>
116="L7372RCV0nuctLOCK =fine >
1163"L5359RCV0>
1164"L83TUS) }
1165"L5359RCV0  96
1166"L5356RCV0, >
1167"L8381  74      returnLOCK =fine >
116="L3338RCV0  96
116="L5359RCV0, >
1170"L5356RCV0    >
117="L8381  74  96
1172"L5359RCV0, >
1173"L5356RCV0    >
1174"L8381  74  96
1175"L5359RCV0, >
117="L5356RCV0    >
117="L434>  87
117="L3338RCV0  96
117="L5359RCV01180"L5356RCV0    >
118="L232>  91
1182"L3338RCV0>
1183"L5359RCV0, >
1184"L8381  74>
1185"L5359RCV0>
1186"L5359RCV0     /a>ning">"inje"s_addrmatef"itint">)(LOCK]>>
118="L7377RCV0>
118="L636>  48
118="L5359RCV0     /a>ning">"creating %s\n"itint">1  TUSpan>, 1190"L434>  87
119="L8381  741192"L5359RCV0, >
1193"L5356RCV0    >
1194"L83TUS) }
1195"L5359RCV0>
119="L5356RCV0    1197"L8381  74      O              /////////////// TUSpan>,   96
1198"L5356RCV0    119="L5359RCV0    >
    >
1201"L5356RCV0    >
120="L7372RCV0
120="L939> 103
1204"L8381  74>
1205"L5356RCV0    , >
120="L5356RCV0    1207"L8381  74      tructfine >
1208"L5356RCV0         /a>ning">"all_channel_couass"itint">)(LOCK]>>
120="L5359RCV0    >
1210"L434>  87
1211"L5356RCV0         /a>ning">"creating %s\n"itint">1  TUSpan>, 121="L73 */
1213"L5356RCV0    1214"L8381  74, >
1215"L5356RCV0    >
121="L5356RCV0
1217"L5359RCV0>
1218"L53ATUS) }
121="L63LOCK]>>
1220"L73ass=ic void7OCK =fine nuctLOCK =fine >
1221"L53ULOCK]>>
122="L7372RCV0nuctLOCK =fine >
122="L939> 103
1224"L8381  74     /a>ning">"\n"itint">)(9> 103
122="L73LOCK]>>
1226"L5359RCV0  96
122="L7377RCV0  96
122="L3338RCV0  96
122="L5359RCV0  96
1230"L434>  87
1231"L5356RCV0>
123="L7372RCV0>
1233"L5356RCV0    1234"L8381  74
1235"L5359RCV0>
1236"L5359RCV0>
123="L43ATUS) }
123="L636>  48
123="L53C>     /a>
1240"L53C>     /a>>>>>>>>Df=CI  initializasion rout" cs: sut/get, init/exitlnion 0 */
1241"L53C>     /a>ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccelnion 0 */
124="L73 */
1243"L93C>     /a>
1244"L83C>     /a>c CV0
124="L73C>     /a>cV0    
124="L53C>     /a>celnion 0 */
124="L73ass=ic void7OCK =fine nuctLOCK =fine >
1248"L53ULOCK]>>
124="L5359RCV0>
1250"L434>  87
125="L8381  74     /a>ning">"\n"itint">)(9> 103
125="L7372RCV0, >
1253"L5356RCV0    nuctLOCK =fine  103
1254"L8381  74>
1255"L5356RCV0     103
125="L5356RCV0         /a>ning">"Removing ef= %02x:%02x.%d\n"itint">19> 103
1257"L8381  74      O        tructfine  103
1258"L5356RCV0    ,  103
125="L5359RCV0    1260"L5356RCV0
1261"L53ATUS) }
126="L73 */
126="L93ass=ic void7OCK =fine >
1264"L83ULOCK]>>
1265"L5359RCV0nuctLOCK =fine >
126="L53LOCK]>>
126="L7377RCV0>
1268"L5356RCV0    >
126="L5359RCV0    >
1270"L5356RCV0
1271"L53ATUS) }
127="L73 */
127="L93ass=ic void7OCK =fine nuctLOCK =fine >
1274"L83ULOCK]>>
1275"L5359RCV0nuctLOCK =fine ILOCK]>>
127="L5356RCV0>
127="L434>  87
127="L3338RCV0     /a>
127="L53C>     /a>    
1280"L53C>     /a>>>>>>>>/* aren't announced by acpi. So, we need to us  a legacy sc   probinglnion 0 */
1281"L53C>     /a>>>>>>>>/* to dete"s themlnion 0 */
1282"L33C>     /a>>>>>>>>/*elnion 0 */
1283"L5359RCV0, >
1284"L8381  74, )ILOCK]>>
1285"L5356RCV0    , 128="L5356RCV0    , >
1287"L8381  74      O              /OCK =fine >
1288"L5356RCV0    
128="L5359RCV0    1290"L5356RCV0     103
129="L8381  74
1292"L53ATUS) }
129="L939> 103
1294"L83ass=ic unsigned7OCK =fine >
1295"L53ULOCK]>>
129="L5356RCV0>
1297"L8381  74nuctLOCK =fine ILOCK]>>
129="L636>  48
129="L5359RCV0)LULOCK]>>
    >
1301"L5356RCV0         /a>ning">"Found bus %d\n"itint">1/OCK =fine  103
130="L7372RCV0, >
1303"L5356RCV0        >
1304"L8381  74
130="L73LOCK]>>
1306"L5359RCV0     /a>ning">"Ld=t bus %d\n"itint">1/OCK =fine >
130="L434>  87
1308"L5356RCV0>
130="L53ATUS) }
1310"L434>  87
1311"L53C>     /a>
1312"L33C>     /a>c CV0
1313"L93C>     /a>cV0    
1314"L83C>     /a>clnion 0 */
131="L73C>     /a>cV0    
131="L53C>     /a>celnion 0 */
131="L73ass=ic intLOCK =fine nuctLOCK =fine 
1318"L5356RCV0    nuctLOCK =fine 
131="L5359RCV0    
1320"L5356RCV0    >
1321"L53ULOCK]>>
132="L7372RCV0nuctLOCK =fine >
1323"L5356RCV0nuctLOCK =fine  103
1324"L83TUS) }
1325"L5359RCV0nuctLOCK =fine ILOCK]>>
1326"L5359RCV0>
132="L7377RCV0>
132="L636>  48
132="L5359RCV0  48
1330"L5356RCV0    >
133="L232>  91
133="L7372RCV0     /a>
1333"L93C>     /a>>>>>>>>>* On Xeon 55xx, the Intel QuickPath Arch Generic Non-rs/e regslnion 0 */
1334"L83C>     /a>>>>>>>>>* is at addr 8086:2c40, instead of 8086:2c41. So, we needlnion 0 */
133="L73C>     /a>>>>>>>>>* to probe/forAthe alternate address in case of failurelnion 0 */
133="L53C>     /a>>>>>>>>>*elnion 0 */
133="L7377RCV0, 1338"L5356RCV0      48
133="L5359RCV0    >
1340"L434>  87
1341"L5356RCV0, 134="L7372RCV0  48
1343"L5356RCV0          48
1344"L8381  74>
134="L73LOCK]>>
1346"L5356RCV01347"L8381  74      ifAT*OCK =fine >
1348"L5356RCV0    134="L5359RCV0    >
1350"L5356RCV0    
135="L232>  91
135="L7372RCV0, >
1353"L5356RCV0    >
1354"L83TUS) }
1355"L5356RCV0    , >
135="L5356RCV0    >
135="L434>  87
1358"L5356RCV0      48
135="L5359RCV0             /a>ning">"Df=CI  not found: ef= %02x.%d PCI ID %04x:%04x\n"itint">19> 103
1360"L5356RCV0      48
1361"L5356RCV0    >
136="L73 */
1363"L5356RCV0         /a>*elnion 0 */
1364"L8381  74>
1365"L5359RCV0
1366"L5359RCV0>
136="L434>  87
136="L3338RCV0>
136="L63LOCK]>>
1370"L5356RCV0>
1371"L5356RCV0>
137="L7372RCV0>
1373"L5356RCV0    >
1374"L8381  74 103
1375"L5356RCV0    >
137="L5356RCV0    
1377"L5359RCV0
137="L636>  48
1379"L5356RCV0>
1380"L5356RCV0      48
1381"L5356RCV0         /a>ning">"Duplicated ef=CI  forA"itint">6>  48
138="L7372RCV0     /a>ning">"df= %02x:%02x.%d PCI ID %04x:%04x\n"itint">19> 103
1383"L5356RCV0          48
1384"L8381  74    >
1385"L5356RCV0    138="L5356RCV0    >
1387"L5359RCV0
138="L636>  48
138="L5359RCV01390"L434>  87
139="L8381  74     /a>*elnion 0 */
139="L7372RCV0, 
1393"L5356RCV0        >
1394"L8381  74  48
1395"L5356RCV0         /a>ning">"Df=CI  PCI ID %04x:%04xA"itint">6>  48
139="L5356RCV0         /a>ning">"has ef= %02x:%02x.%d instead of ef= %02x:%02x.%d\n"itint">19> 103
1397"L8381  74      O       tructfine  103
1398"L5356RCV0    ,  103
139="L5359RCV0         103
    >
140="L8381  74
140="L73 */
1403"L5356RCV0     /a>*elnion 0 */
1404"L8381  74, 1405"L5356RCV0      48
140="L5356RCV0         /a>ning">"Couldn't ene_idA"itint">6>  48
1407"L8381  74      O       t>     /a>ning">"df= %02x:%02x.%d PCI ID %04x:%04x\n"itint">19> 103
1408"L5356RCV0     103
140="L5359RCV0         103
1410"L5356RCV0    >
141="L8381  74
141="L73 */
1413"L5356RCV0     /a>ning">"Dete"sdd>socket %d ef= %02x:%02x.%d PCI ID %04x:%04x\n"itint">19> 103
1414"L8381  74 103
1415"L5356RCV0     103
141="L5356RCV0     103
141="L434>  87
141="L3338RCV0     /a>
141="L53C>     /a>    on 

1420"L53C>     /a>>>>>>>>/* @from is always efcreclasdd>ifAit is not %NULL. So, as we needlnion 0 */
1421"L53C>     /a>>>>>>>>/* to get all ef=CI s up to null, we need to do a get forAthe ef=CI TAion 0 */
1422"L33C>     /a>>>>>>>>/*elnion 0 */
1423"L5356RCV01424"L83TUS) }
1425"L5359RCV0>
142="L53LOCK]>>
142="L7377RCV0>
142="L63ATUS) }
142="L63LOCK]>>
1430"L53ass=ic intLOCK =fine >
1431"L53ULOCK]>>
143="L7372RCV0>
1433"L5356RCV0nuctLOCK =fine ILOCK]>>
1434"L8381  74nuctLOCK =fine ILOCK]>>
143="L73LOCK]>>
1436"L5359RCV0 103
143="L434>  87
1438"L5356RCV0, >
143="L5359RCV0    , ILOCK =fine >
1440"L5356RCV0    ILOCK]>>
1441"L5356RCV0    >
144="L7372RCV0    >
1443"L5356RCV0             103
1444"L8381  74, >
1445"L5356RCV0    , >
144="L5356RCV0        ILOCK]>>
1447"L8381  74                                      breakILOCK]>>
1448"L5356RCV0    
144="L5359RCV0         103
1450"L5356RCV0    >
1451"L5356RCV0    
145="L7372RCV0, 1453"L5356RCV0    
1454"L8381  74 103
1455"L5359RCV0
145="L53LOCK]>>
145="L7377RCV0>
145="L63ATUS) }
145="L63LOCK]>>
1460"L53ass=ic intLOCK =fine nuctLOCK =fine >
1461"L5356RCV0    nuctLOCK =fine >
146="L73ULOCK]>>
1463"L5356RCV0nuctLOCK =fine >
1464"L8381  74nuctLOCK =fine 1465"L5359RCV0>
1466"L5359RCV0>
146="L434>  87
146="L3338RCV0>
146="L5359RCV0>
1470"L5356RCV0, ILOCK =fine >
1471"L5356RCV0     103
147="L7372RCV0 103
1473"L5356RCV0     103
1474"L83TUS) }
1475"L5356RCV0     103
147="L5356RCV0     103
1477"L8381  74      ifATOCK =fine >
1478"L5356RCV0    ,  103
147="L5359RCV0        >
1480"L5356RCV0        1481"L5356RCV0    , >
148="L7372RCV0,  103
1483"L5356RCV0            >
1484"L8381  74    1485"L5356RCV0    >
148="L5356RCV0        148="L434>  87
1488"L5356RCV0         /a>
148="L5359RCV0    , >
1490"L5356RCV0        >
1491"L5356RCV0         /a>ning">"Xeon 35xx/ vers/e"itint">ILOCK]>>
149="L7372RCV0    >
1493"L5356RCV0        >
1494"L8381  74    >
1495"L5356RCV0         /a>ning">"i7-800/i5-700"itint">ILOCK]>>
149="L5356RCV0    >
1497"L8381  74      O       ////////breakILOCK]>>
1498"L5356RCV0    >
149="L5359RCV0             /a>ning">"Xeon 34xx"itint">ILOCK]>>
    >
1501"L5356RCV0    >
150="L7372RCV0    >
1503"L5356RCV0             /a>ning">"Xeon 55xx"itint">ILOCK]>>
1504"L8381  74>
1505"L5356RCV0    >
150="L5356RCV0    >
1507"L8381  74      O       ////////OCK =fine      /a>ning">"Xeon 56xx / ve-900"itint">ILOCK]>>
1508"L5356RCV0    >
150="L5359RCV0        >
1510"L5356RCV0    >
1511"L5356RCV0         /a>ning">"unknown"itint">ILOCK]>>
151="L7372RCV0    >
1513"L5356RCV0        
1514"L8381  74     /a>ning">"Dete"sdd>a processor type %s\n"itint">1 OCK =fine  103
1515"L5356RCV0     103
151="L5356RCV0    >
151="L434>  87
1518"L5356RCV0         /a>ning">"Associs=dd>fn %d.%d, ef= = %p,>socket %d\n"itint">19> 103
151="L5359RCV0        ,  103
1520"L5356RCV0    >
1521"L53LOCK]>>
152="L7372RCV0>
1523"L5356RCV0        ,  103
1524"L8381  74    >
1525"L5359RCV0
152="L53LOCK]>>
152="L7377RCV0>
152="L636>  48
152="L63UCK =fine >
1530"L5356RCV0     /a>ning">"Df=CI  %d, fun"tion %dA"itint">6>  48
1531"L5356RCV0         /a>ning">"is out of the expe"sdd>range\n"itint">19> 103
153="L7372RCV0    tructfine >
1533"L5356RCV0>
1534"L83ATUS) }
153="L73LOCK]>>
1536"L53t>     /a>6>  48
153="L43C>     /a>>>>>>>>////////////////Error check>rout" csitint">6>  48
1538"L53C>     /a>ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccelnion 0 */
153="L63LOCK]>>
1540"L53ass=ic void/OCK =fine nuctLOCK =fine >
1541"L5356RCV0    >
154="L7372RCV0    >
1543"L5356RCV0        >
1544"L8381  74>
1545"L53ULOCK]>>
154="L5356RCV0nuctLOCK =fine >
1547"L8381  74>
154="L3338RCV0     /a>ifAit is not the first time here/*elnion 0 */
154="L5359RCV0>
1550"L5356RCV0         /a>*elnion 0 */
1551"L53LOCK]>>
155="L7372RCV0 103
1553"L5356RCV0     103
1554"L8381  74 103
155="L73LOCK]>>
155="L5356RCV0    >
1557"L8381  74      O       tructfine  103
1558"L5356RCV0     103
155="L63LOCK]>>
1560"L5356RCV0    >
1561"L5356RCV0     103
156="L7372RCV0 103
1563"L539> 103
1564"L8381  74>
1565"L5356RCV0     103
156="L5356RCV0     103
1567"L8381  74 103
1568"L5356RCV0     103
156="L63LOCK]>>
1570"L5356RCV0     /a>*elnion 0 */
1571"L5356RCV0 103
157="L7372RCV0 103
1573"L5356RCV0 103
1574"L83TUS) }
1575"L5356RCV0     /a>*elnion 0 */
157="L5356RCV0>
1577"L8381  74      UCK =fine >
1578"L5356RCV0    >
157="L5359RCV0             /a>ning">"arror"itint">1 O>     /a>ning">""itint">)ILOCK]>>
1580"L5356RCV0>
1581"L5356RCV0    >
158="L7372RCV0>
1583"L5356RCV0                 /a>ning">"arror"itint">1 O>     /a>ning">""itint">)ILOCK]>>
1584"L8381  74>
1585"L5356RCV0    >
158="L5356RCV0        >
1587"L8381  74                           UCK =fine      /a>ning">"arror"itint">1 O>     /a>ning">""itint">)ILOCK]>>
158="L63ATUS) }
158="L63LOCK]>>
1590"L53ass=ic void/OCK =fine nuctLOCK =fine >
1591"L53ULOCK]>>
159="L7372RCV0nuctLOCK =fine >
1593"L5356RCV0 103
1594"L8381  74 103
159="L73LOCK]>>
159="L5356RCV0     /a>
1597"L8381  74>
1598"L5356RCV0    >
159="L5359RCV0>
    >
1601"L5356RCV0>
160="L7372RCV0    >
1603"L5356RCV0>
1604"L8381  74>
1605"L5356RCV0>
160="L5356RCV0    >
1607"L8381  74>
1608"L5356RCV0    >
160="L5359RCV0, >
1610"L5356RCV0         /a>ning">"MC_COR_ECC_CNT%dA= 0x%x; MC_COR_ECC_CNT%dA= 0x%x\n"itint">19> 103
1611"L5356RCV0    , , , , , , >
161="L7372RCV0     /a>
1613"L5356RCV0    , , >
1614"L8381  74, >
1615"L5356RCV0    , >
161="L5356RCV0    , >
1617"L8381  74      } elsd ULOCK]>>
1618"L5356RCV0    , >
161="L5359RCV0            , >
1620"L5356RCV0    , >
1621"L5356RCV0    , >
162="L7372RCV0>
1623"L5356RCV0    
1624"L83TUS) }
1625"L5356RCV0    >
162="L5356RCV0
162="L73ATUS) }
162="L636>  48
162="L63U>     /a>
1630"L53C>     /a>c Intel Xeon Processor 5500 Series Datasheet Volume 2lnion 0 */
1631"L53C>     /a>c      http://www.intel.an /Assets/PDF/datasheet/321322.pdflnion 0 */
163="L73C>     /a>c also availe_id at:lnion 0 */
1633"L53C>     /a>c      http://www.arrown/i7cn /manufacturhrefintel/s/nehalem/5500-datasheet-v2.pdflnion 0 */
1634"L83C>     /a>celnion 0 */
163="L73ass=ic void/OCK =fine nuctLOCK =fine >
1636"L53ULOCK]>>
1637"L8381  74nuctLOCK =fine >
163="L3338RCV0>
163="L5359RCV0 103
1640"L539> 103
1641"L5356RCV0>
164="L7372RCV0     /a>ning">"MCR registers not found\n"itint">)ILOCK]>>
1643"L5356RCV0    >
1644"L8381  74
164="L73LOCK]>>
164="L5356RCV0     /a>test arrore>*elnion 0 */
1647"L8381  74>
164="L3338RCV0>
164="L63LOCK]>>
1650"L5356RCV0     /a>*elnion 0 */
1651"L5356RCV0>
165="L7372RCV0>
1653"L5356RCV0>
1654"L83TUS) }
1655"L5356RCV0     /a>ifAit is not the first time here/*elnion 0 */
165="L5356RCV0>
1657"L8381  74      U>     /a>*elnion 0 */
1658"L5356RCV0     103
165="L63LOCK]>>
1660"L5356RCV0     103
1661"L5356RCV0        1657"L8381  74N2">165="L7372RCV05153r1566c#L3.c#1526" i3=="L16ielda
159="L7href="drivers/edac/i7cor1646c#L3.c#1626" i3d="L46" class="lin1626">164="L5356RCV0"add =fine 1564"L81c/i7cor1659c#LrDIMM_BOT_COR_ERRref="+cuv_list"DIMM_BOT_COR_ERRh7a hra"+cdevaram" clasvclass="lin1528">1578"L5356     1657"L8381  74N2">165="L7372RCV
1557"L8381  74      O       tructfine 6103 103
156="L5356RCV0     103
1578"L5356 <37">1567"L6381  74 10361561"L5356RCV0    *elnion 0 */6/span67drivers/edac/i7cor166svt"+cdevaram" clasvtTABLsrpv_LOCK)->ine  6031521"L53LOCK]>>
 103
 6031553"L5356RCV0 V
1565"L5356RCV0    1573"L5356R6V0     /a>ning">"ntTABL[OCK6=fine  103
1557"L8381_countref="+cuv_list"rdimm_cd_countTABL[61574"683TUS6 }
1553"L5356RCV0  claverss="lin1504">152="L7377RCV0>
1577"L83814" i3d="L28" class="lin1504"claa0: +636>  48claa1: +636>  48claa2 +636>  T TUSpan>, >
1578"L5356RCV0<6a>   6157=6L5359RCV0      6 >
158="L7372RCV06/18RC60 103
1570"L5356RCV0     /a>1586"L5356RCV0       6 68nfoDESC"pcidmcrTABL[2],LOCK =L = OCK =fine >
    1657"L8381  74N2">165="L7372RCV05153r1566c#L3.c#1526" i3=ist"rdimm_ld=t_cd_countTABL[OCK =fine 158="L5356RCV06/a>  68ldaram" clanew0"L33,LOCK =fine >f="+confoDESC"pcidmcrTABL[4],LOCK =fine 162="L73ATUS) }
162="L636>  48
158="663LOC69lin1604">162="L63U>     /a>162="L636>  48
1590"L63ass=69" i3d="L30" class="lin1630">16Nan cla aK)-defn15ds="lfamilyrs/06, m_cdlrs/1a="lin1604">162="L636>  48
1596"L53U69drivers/edac/i7cor1631c#L3.c#="lin1604">162="L636>  48
c Intel Xeon Processor 5500 Series D2ef="+conf6DESC"u3="L737LOCK)->in6 Rc Intel Xeon Processor 5500 Series D2>>
c Intel Xeon Processor 5500 Series D2L86" clas6>
c Intel Xeon Processor 5500 Series D2ef="drive6rpv_LOCK)->ine &ef="d>, c Intel Xeon Processor 5500 Series 7)ILOCK]>&g7;
162="L73ATUS) }
c Intel Xeon Processor 5500 Series 7)1LOCK]>&g7;9" class="lin1549">158="7ef="+70lin1604">162="L63U>     /a>&g7;
     /a>

&g7;
nuctLOCK =fine >
     /a>     /a>,      /a>    , &g7aram" clav"L33up; (13ILOC7 =fin710"L33,Ly Con 21 ine &g7c#L3.c#1611" 43=="L11" cl7ss="l71  /a>>
153i7cor1592c#L3.c>153rnL0, >71nfoDESC"pcidmcrTABL[2],LOCK ac/i7cor1637c#L3.c#1637" i3d="L37" class=syndromABL[OCK =fine >71#1575" i3d="Laram" claadd1TAac/i7cor1637c#L3.c#1637" i3d="L37" class=nrrnumBL[OCK =fine      /a>>716varam" clafamily"L33)(9> 103
         /a>      } elsd ULOCK7>>7, >
>7, &g7+cdevaram" clarc=TABL[ TU7pan>,72 0 */
>
""itint">)ILOCK]>>
"arrogt;
1625"L5356RCV0    7/UCK 7fine 
" TUSpan>, >
""itint">)ILOCK]>>

celnio7 0 */73   1657"L8381  74N2">165="L7372RoptypABL[OCK =fine 163="L73ass=73 }
1637"L53U7OCK]>>
165="L7372RoptypABL[OCK =fine >
 103
162="L7372RCVoptypABL[OCK =fine )I74   1657"L8381  74breaknew1nfieldaram" clanew1"L33 = OCK =fine 7l1647"L83874#1537" i3d="L77" clas/edac/i7cor16"3optypABL[OCK =fine 1647"L33374a href="drivers/edac/breaknew1nfieldaram" clanew1"L33 = OCK =fine 7evaram" cl7sci_read_config_dwordTABL7OCK =7ine 1650"L5356RCV7 7   /a>1553"L5356RCV033"L53C>     /a>1655"L5356RCV033"L53C>     /a>1657"L8381  77 759ieldaram" cl aseL18:ivers/edac/i7cor1655c#L3.c#1615" i3d="L7re>*elnion70 */
     /a>165="L63LOCK]>>
7a hre7="drivers/edac/i7cor16breaknew1nfieldaram" clanew1"L33 = OCK =fine 7imm_ld=t_c7_countTABL[2](9> 103
7a hre76m" clav"L33][ aseL19:ivers/edac/i7cor1655c#L3.c#1615" i3d="L7r hrDIMM2_78" i37" i3d="L92" class="7in15876hrDIMM_BOT_COR_ERRrefm_check_mc_eccd33"L53C>     /a>164="L7356RC70"add =fine 1657"L8381  74N2">165="L7372R33"L53C>     /a>
    <76CK =76CK]>>
165="L7372R33"L53C>     /a>1567"76381  74 10333"L53C>     /a>7603breaknew1nfieldaram" clanew1"L33 = OCK =fine 76 hrDIMM1_76ieldaram" clanew1"L33(9>76031573"L535676V0162="L7372RCV33"L53C>     /a>15747683TU76 }
162="L7372RCV33"L53C>     /a>1578"L5356RCV076a>  7615776L5359RCV0     76      /a>>
159="L7href="drivers/edac/i7cor1646c#L3.c#17"L82" clas7="lin1582">158="L7372RCV07/18RC70>f="+confoDESC"pcidmcrTABL[4],LOCK =fine 1587"L5356RCV0       7 78cdevars/edac/i7cor1631c#L3.ccccccccc* CallOCK)-helper to output messagef="+confoDESC"pcidmcrTABL[4],LOCK =fine >
158="L5356RCV07/a>  78c#L3.rs/edac/i7cor1631c#L3.ccccccccc*ef="+confoDESC"pcidmcrTABL[4],LOCK =fine      /a>163="L5359RCV0     /a>158="763LOC79a href="drivers/edac/i7cor1620c#L3.c#1620"hrmem_ctl_infrefBL[OCK =fine >
1590"L73ass=79m" clav"L33][1]) +LOCK]>>
0c#L3.c#1620"hrmem_ctl_infrefBL[OCK =fine 1597"L53U79K =fine 
, 153i7cor1592c#L3.c>153rnL0, -1hrv"+cdevaram" clav"L33 = 0 ;LOCK =fine 751573">1587DESC"u3="L737LOCK)->in7 1564"L81c/i7cor1659c#LrDIMM_RECTEDef="+ci3d="L37" class=33"L53C>     /a>>
 103

&ef======OCK =fi     h&3d="      Relaseve"and pc/i7co i3d="L4repor.c#1byOCK)f="+confoDESC"pcidmcrTABL[4],LOCK =fine &g8;
162="L73ATUS) }
162="L636>  48
158="8ef="+80lin1604">162="L63U>     /a>&g8;
8clasvtTABL8rpv_LOCK)->ine 
ne nuctLOCK =fine >
1623"L5gt;
1621"L5356RCV0&g8;aram" clanew1"L33,LOCK =8ef="+80 void/OCK =fine 
1621"L5356RCV0&g8;
&g8;pv_LOCK)->ine     162="L73ATUS) }
162="L63U>     /a>&g8c#L3.c#1611" 43=="L11" cl8ss="l81" i3d="L30" class="lin1630">eeeeeeee* losss= 30"i3d=".="lin1604">162="L636>  48
&g8if the channel has 3 dimm8*elni81>81nfoDESC"pcidmcrTABL[2],LOCK ra73" class="lin1573.c#1526" " i=0"L33)ILOCK]>>
    1657"L8381  74N2">165="L7icA_inBL[OCK =fine 8AILOCK]>&g8evaram" clav"L33][0])ILOC8]>>817 =fine ne &g8evaram" clav"L33][0])ILOC8]>>81 void/OCK =fir1639c#L3.c#1619" i3ra73" class="lin1573.c#1526" 4c#L3.c#1624" i3d="L34" class="lin1624">8A8LOCK]>&g8RCV0         /a>&g8 74      } elsd ULOCK8>>81   U>     /a>, >82ers/edac/i7cor163aram" claadd1TABL56RCV0    1657"L8381  74N2">165="L7icA_inBL[OCK =fine , ,     1657"L8381  74N2">165="L7icA_inBL[OCK =fine 159="L7href="drivers/edac/i7cor1646c#L3.c#18&g8+cdevaram" clarc=TABL[ TU8pan>,82 0 */
    1657"L8381  74N2">165="L7icA_c#LryBL[OCK =fine     1657"L8381  74N2">165="L7icA_inBL[OCK =fine 
, 1625"L5356RCV0    8/UCK 82   1657"L8381  74N2">165="L7372RCV
1621"L5356RCV0
, 1621"L5356RCV08LOCK]>&g8clav"L33, OCK =fine 1621"L5356RCV09LOCK]>&g8ew1"L33,LOCK =fine     1657"L8381  74N2">165="L7icA_c#LryBL[OCK =fine     1657"L8381  74N2">165="L7icA_inBL[OCK =fine 
1621"L5356RCV0
    1657"L8381  74N2">165="L7icA_inBL[OCK =fine BL[ TUSpa8lume 2lnion 0 */
<8 href83>159="L7href="drivers/edac/i7cor1646c#L3.c#180 */
    1657"L8381  74N2">165="L7icA_o" crunBL[OCK =fine celnio8 0 */83   1657"L8381  74N2">165="L7372R" claverss="lin1504">152="L7377RCV0>
, 163="L83ass=83 }
165="L7372RCV
&g8"L36" class="lin1616">1638"L53U83#1537" i3d="L77" clas/edac/i7cor16"3smp_wmbBL[OCK =fine 9LOCK]>&g8vtTABL = OCK =fine 165="L7372RCV
1621"L5356RCV0>
 103cs/edac/i7cor1631c#L3.gtf="+confoDESC"pcidmcrTABL[4],LOCK =fine 1623"L5" i3d=fine 1623"L5rdimm_#1515" i3d="L65ra73" class="lin1573.c#1526" n=fine 1623"L5++4c#L3.c#1624" i3d="L34" class="lin1624">8Lss="lin168ters not found\n"iti8t">)I84   1657"L8381  74N2">165="L7372R" clavemcn_output, 1, -1, O>     /a>    1657"L8381  74N2">165="L7icA_outc#LryBL[OCK =fine 1623"L5]fnew1nfieldaram" clanew1"L33 = OCK =fine 8l 103
1648"L83884#1537" i3d="Lcs/edac/i7cor1631c#L3.gtf="+confoDESC"pcidmcrTABL[4],LOCK =fine &g8"L48" class="lin1628">1648"L33384confoDESC"new2TABL)ILOCK]>&eeeeeeeee* Now, let+639;L4CKcreOCK] CEe&3d=" .c#15 f="+confoDESC"pcidmcrTABL[4],LOCK =fine 162="L73ATUS) }
     /a>1650"L5356RCV8 8   /a>163="L5359RCV0     /a>1655"L5356RCV0 103
1657"L8381  78 85confoDESC"new2TABL)ILOCK]>&ef==="L13"mcn_     h&3d="       Replicthe Omcnlog rout165 to getei3d="Lf="+confoDESC"pcidmcrTABL[4],LOCK =fine *elnion80 */
162="L73ATUS) }
165="L63LOCK]>>
8a hre86lin1604">162="L63U>     /a>1666666666666666666666666666666by=OCK =fi     h&3d=".="lin1604">162="L636>  48
162="L636>  48
164="L8356RC86#L3.c#1622" i3d="L32" class=" be taken to ar1633deadlockL,4and to be ="lfast ="lpossible.="lin1604">162="L636>  48

, 
    <86CK =86CK]>&rivers/edac/i7cor1655c#L3.c#1615" i3d="L86claadd0TA86(9> 103


, 1567"86381  74 103

*elnion 0 *86/spa867drivers/edacne nuctLOCK =fine new1nfieldaram" clanew1"L33 = OCK =fine 8< hrDIMM2_86="+confoDESC"new2TABL(9>8603159="L7href="drivers/edac/i7cor1646c#L3.c#186 hrDIMM1_86ieldaram" clanew1"L33(9>86031573"L535686V0)INOTIFY_BA;ine new1nfieldaram" clanew1"L33 = OCK =fine 8<15748683TU876varam" clafamily"L33)(9> 103
165="L7ic="drivers/edac/i7cor163new1nfieldaram" clanew1"L33 = OCK =fine 8nuctLOCK =fine >
1578"L5356RCV086a>  88eldaram" clarc=1"L33,LOCK =fine 15786L5359RCV0     86 >
eeeeeeee* Just letOmcnlog handleuctfr16CK)-&3d=" )Lf="+confoDESC"pcidmcrTABL[4],LOCK =fine c Intel Xeon Processor 5500 Series 8"L82" clas8="lin1582">158="L7372RCV08/18RC88#L3.c#1622" i3d="L32" class=eeeeeeee*ef="+confoDESC"pcidmcrTABL[4],LOCK =fine 1588"L5356RCV0       8 885" clav"L33][r163(Ihrmem_ctl_infref=ABL[OCK =fine )INOTIFY_DONEK]>>
 103
158="L5356RCV08/a>  88#1537" i3d="Lcs/edac/i7cor1631c#L3.gt Bank 8 
)INOTIFY_DONEK]>>
158="863LOC89754="L5359RCV0>
1590"L83ass=89m" clav"L33][aram" claadd1TAsmp_rmbBL[OCK =fine 1598"L53U89K =fine     1657"L8381  74N2">165="L7icA_outBL[OCK =fine ne 
1588DESC"u3="L737LOCK)->in8 1564"L81c/i7cor1659cN2">165="L7372RCV
)INOTIFY_DONEK]>>


&g9;
165="L7icA_c#LryBL[OCK =fine     1657"L8381  74N2">165="L7icA_outBL[OCK =fine 
&g9;9" class="lin1549">158="9ef="+900"L33,Ly Con 21 ine &g9;
    1657"L8381  74N2">165="L7icA_outBL[OCK =fine >
ne &g9;L91" class="lin1581">1599ef="+90>159="L7href="drivers/edac/i7cor1646c#L3.c#19)ILOCK]>&g9;
&g9;ESC"u3="L737LOCK)->in9ef="+905" clav"L33][r163aram" claadd1TAf=ABL[OCK =fine 1657"L8381  74N2">165="L7372R" clave     h&3d="am" clasci_readi="L13"     h&3d="rnL0Ihrmem_ctl_infref="+confoDESC"mem_ctl_inffnew1nfieldaram" clanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" clanew1"L33,LOCK =9ef="+906varam" clafamily"L33)(9> 103
&g9;pv_LOCK)->ine )INOTIFY_STOP26" new1nfieldaram" clanew1"L33 = OCK =fine 9/a>    162"+cdevaram" clamci"L33, tructfine &g9aram" clav"L33up; (13ILOC9 =fin91754="L5359RCV0&g9c#L3.c#1611" 43=="L11" cl9ss="l91c#L3.ac/i7con/i7cn /manufacturhrefnotifier_block1, O>     /a>     /a>&g9if the channel has 3 dimm9*elni91&g9cladimms"L33uppv_L2)LULOC9]>>91nfoDEew1nfieldaram" clanew1"L33 = OCK =fine 9/6asvtTABL9evaram" clav"L33][0])ILOC9]>>91   >91 void/OCK =fi/manufacturhrefu8BL[OCK =fine &g9RCV0    
&g9 74      } elsd ULOCK9>>91K =fine , &g9varam" clav"L33][0])ILOCK9>>920"L33,Ly Con 21 ine &g9rc=TABL[ TUSpan>, &g9+cdevaram" clarc=TABL[ TU9pan>,92&g9rs/edac/i7cor1622c#L3.c#1922" i92nfoDESC"pcidmcrTABL[2],LOCK u8BL[OCK =fine 1625"L5356RCV0    9/UCK 92   1657"LcrTABL[2],LOCK u8BL[OCK =fine &g9upds=d_cd_countTABLAOCK =9ine <92 void/OCK =fi/manufacturhrefu8BL[OCK =fine      /a>&g9clav"L33, OCK =fine &g9ew1"L33,LOCK =fine      /a>&g9629c#L3.c#1604" i3d="L29"9class930"L33,Ly Con 21 ine &g9drivers/edac/i7cor1630c#L9.c#1693m" clav"L33][aram" claadd1TAu8BL[OCK =fine      /a>
<9 href933" clav"L33][aram" claadd1TAu8BL[OCK =fine      /a>&g9
&g9:lnion 0 */
     /a>celnio9 0 */93   1657"LcrTABL[2],LOCK u8BL[OCK =fine &g95" class="lin1615">163="L93ass=93 void/OCK =fi/manufacturhrefudrivers/edaine &g9"L36" class="lin1616">1639"L53U93#1537" i3d="L*/
&g9vtTABL = OCK =fine >
&g9t;
c Intel Xeon Processor 5500 Series 9wlasvtTABL9CK =fine 162="L636>  48
)I944" clrs/edac/i7cor1631c#L3.c*ef="+confoDESC"pcidmcrTABL[4],LOCK =fine      /a>     /a>

&g9"L47" class="lin1637">1649"L83894CK]>&rivers/edac/i7cor1655c#L3.c#1615" i3d="L9L9LOCK]>&g9"L48" class="lin1628">1649"L33394aram" clamci"Lntn */
1650"L5356RCV9 9   /a>
&g9OR_ERRref="+cuv_list"DIMM9_COR_957 claew1nfieldaram" clanew1"L33 = OCK =fine 9elasvtTABL9>
)IDMI_ENTRY_MEM_DEVICEion )nrivers/edac/i7cor1655c#L3.c#1615" i3d="L9ass="lin169_COR_ERRTABLAOCK =fine 1657"L8381  74aci7cn /manufacturhrefintdev_dmi_c#LryBL[OCK =fine 
1655"L5356RCV0
&g9#1626" i3d="L56" class="l9n162695#1537" i3d="L77" clasunsig15dslos= m_check_mc_eccdconf_eet-clk_speer_offsetBL[OCK =fine 1657"L8381  79 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine &g9s="lin1637">1657"L8381  79 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine &g9#1626" i3d="L5662695#1537" i3d="L77" clasum_check_mc_eccdconf_eet-clk_speer_offsetBL[OCK =fine c In9el Xe96av"L33 = 0 ;LOCK =fine 75>>K]>&g9s="lin1637">1657"L8381  79 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine 162=9L636>96av"L33 = 0 ;LOCK =fine 75&g9s="lin1637">1657"L8381  79 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine 162=9L636>96lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRref= ="lfast =9lpossible.="lin1604">162=9L636>96lanew1"L33 = OCK =finernew1nfie82ef="drive8rpv_nea r1631c# DIMM is pres48"L"lin169ters not found\n"iti9t">)I944" clrs/edac/i7cor1931c#L3.c#ef="+confoDESC"p9idmcr961655c#L3.c#1615" i3d=ine & 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine 
, 
 9  <86CK =86CK]>&rivers/ed9c/i7c961655c#L3.c#1615" i3d=ine &g8assssssss* pia r16eaDIMM /97cor1ord="L" i3d="L32ha+79c /97codbg"+c9evara94cdevars/edac/i7cor1631c#L3.c# allOhref="driv9rs/edac/i7cor163new1nfiel9aram"97BL[4],LOCK =fine >
)I944" clrs/ecdarrTABLA9>nuctLOCK =fine new1nfiel9aram"97av"L33 = 0 ;LOCK =finine & 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine )ESC"new2TA9L(9>8603159="L7href=9drive971655c#L3.c#1615" i3d=15" i3d=idTABL9OCK =95             crTABL[2],LOCK uevaram" claine  95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine & 95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine )Edva TUSpa9)INOTIFY_BA;ine new1nfiel9aram"97BL[4],LOCK =fine  95a href="drivers/edac/eeeeeeeeIunsig15dslos=)ine )ERCV0 9rs/edac/i7cor163new1nfiel9aram"971655c#L3.c#1615" i3d="L9a9LOCi3d="L9L9LOCK]>&g9"L48" class="lin1628">1649"L33394aram"-1varam" claine >
1578"L5359RCV086a>  88eldaram" clar9=1"L398av"L33 = 0 ;LOCK =fin1"L33 = OCK =fine 9/a>        1650"L5356RCV9 9   /a><0ctl_infreDMI_ENTRY_MEM_DEVICE"itint">)>memory9controllcfpan class=>c In9el Xe981655c#L3.c#1615" i3d=15" i3d=irnew1nfie82ef="drive8rpvF/////pie8,la hre=was 0s*lin169ters not found\n"iti9t">)I944" clrs/eL32" class9eeeeeeee*ef="+confoDESC"p9idmcr98lanew1"L33 = OCK =fin15" i3d=OCK =fine 9elasvtTAB           crTABL[2],LOCK uevaram" claine )&m" clanew9dABLs="li7) != 1"foDESC"p9idmcr9ABL[4],LOCK =fine 9INOTIFY_DONEK]>>
1649"L33394aram" clamci"Lntn */            crTABL[2],LOCK uevaram" claine )know how t9 handleu*ef="+confoDESC"p9idmcr981655c#L3.c#1615" i3d="L9a9LOC15" i3d=irnew1nfie82ef="drive8rpvO16erwis=d="L" i3d="L32ha+79c ac/i_la hre=cs/edac/i7cor1631c#L3.gt AdviseOmcnlog that CK)-&L[OCK =fin9 1649"L33394aram"-1varam" claine 9INOTIFY_DONEK]>>
1649"L33394araK =fi0e 1649"L33394ara!m" clamci"Lntn */            crTABL[2],LOCK uevaram" claine )BL[OCK =fi9e 
9INOTIFY_DONEK]>>

1649"L33394aram"-1varam" claine 201a655c#L3.c#16}ar/pre>
ram" claine >
201av"L3}aram" claine 201BL[4]"L33 = OCK =fine 9/a>    201BL[4],LOCK =fine 201BL[4],LOCK =fine 20148
>
201ers/e>
201lanew#def hrOCK =fine 2019L[4]"L33 = OCK =fine 9/a>    20INL[4],LOCK =fine anewg9"L48" cvaraaO>  an clr163 */
162"+cdevar20   >20I1L[4],LOCK =fine &g9"L47" cla20I2t >r20ILOC9 =fin91754="L5359RC20ILO>20ICK =fine 1649"L33394aram"hrh7"drivCV
20Ilanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl20I4t >r20_     h&3d="rnL02foDESC"20_  >20Ilanew1"L33 = OCK =fine 9cILOam" waef="drivers/edac/im" waefvaraa1657"L8381  791649"L33394aribute__rnL0IIhrmem_ctl_infre__packed__am20I5t >r20mm9*elni9120Ilanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms20I6t >r20ULOC9]>>91nfoDEew1nfie20ULO>20IBL[4],LOCK =fOCK =fine 9elasvtTAB9"L48" class="lin1628">1649"L33394araK1TAapan clr163 */
20IBL[4],LOCK =fine &g9nEFAULT_DCLK_FREQa typABL[OCK =fiEFAULT_DCLK_FREQ655cbute__rnL0IIhrmem_ctl_infre__packed__am20I8t >r20=fine 20Ii"L33, tructfine 
20IBL[4],LOCK =fine &g9B9"L48" class="lin1628">1649"L33394arbute__rnL0IIhrmem_ctl_infre__packed__am202at >r20ine 20inv"L3}aram" claine 20ilanew1"L33 = OCK =fine 9edaram" cl9CV0nfiel20i2t >r20_)LOC_handlem" cnew1nfie20_)L>20iCK =fine 20iBL[4],LOCK =fine 162ets byte/sec bandaram" scrub rate3,LOC9 =fine 20iBL[4],LOCK =fine 20i Processor 5500 Series 9wlasvttttttttttttttttttttttttttttttfou4#L3naTAuesheetdbg"+c9evara94cdevars/edac/i7cor1631c#L3.c# al2026t >r20=fine 20i48
)I944" clrs20i7t >r2020i7L[4],LOCK =fine     1657"L83CK]>&g95" class="lin1615">163="L93ass=93 new_bw>&g95" class="lnew_bw94arirs not found\n"iti9t">)I944" clrs20i8t >r20vicn_locat="m" cnew1nfie20vic>20iBL[4],LOCK =fine &g9"L47" cla20i9t >r20bank_locat="m" cnew1nfie20ban>20i1655c#L3.c#1615" i3d="L86claadd0TA8K]>&g9"valuee>*elnion 0 *86/spa867drivers/edacne nuctLOCK =fine 20am655c#L3.c#1615" i3d="L86claadd0TA8pci_ i3d="L*/

20alanew1"L33 = OCK =fine 9c1LOCK]>&g95" class="lin1615">163="L93ass=93 dw_scrublass="lin1628">1w_scrubnew1"L33 =heck_mcdemion 0 */
20alanew1"L33 = OCK =fine 9cILOCK]>&g95" class="lin1615">163="L93ass=93 dw_ss1, O>     /a>
20alanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2034t >r20erial_numbe"m" cnew1nfie20eri>20a/edac/i7cor1646c#L3.c#19)ILOCK]>&g9;
158="L5, function 2="lin169ters not found\n"iti9t">)I944" clrs2035t >r20 20alanew1"L33 = OCK =fine 9c5LOr i3d="L*/
165="L7icA_outBL[OCK =fine 
20aBL[4],LOCK =fOCK i3d="L8="L50" cla i3d="L*/
)I944" clrs2037t >r2020aBL[4],LOCK =fine 
20ai"L33, tructfine 
20alanew1"L33 = OCK =fine 81657"L8381  791w_scrubnew1ibute__rnL0IIhrmem_ctl_infre__packed__am204at >r20__packed__ion )fnew1nfie20__p>20__"L33, tructfine 
20_1L[4],LOCK =fOCK 163="L93ass=93 new_bw>&g95" class="lnew_bw94ar/a><0ctl_infreDMI_ENTRY_MEM_DEVICE"itint"20_2t >r20a hr9f="dr94754="L5359RC20a h>20_av"L33 = 0 ;LOCK =fin46c#L3.c#19)ILOCK]>&g9;
)I944" clrs2043t >r20lin1630"gtf="+confoDESC"20lin>20_av"L33 = 0 ;LOCK =fin57"L8381  791w_scrubnew1 7">16= ~57"L8381  79STARTSCRUBnew1"L33 =heck_mcdemion 0 */
20_1655c#L3.c#1615" i3d="rnew1nfie82ef="drive8rpvStopr16eapa8TAB scrub eng">16"lin169ters not found\n"iti9t">)I944" clrs2045t >r20n consid)fpan class=>c I20n c>20_lanew1"L33 = OCK =fine 851573">1588Dwrite_and_tes 74N2">165="L7icwrite_and_tes varaa)I944" clrs2046t >r20e invalid.="lin1604">16220e i>20_BL[4],LOCK =fine 1w_scrubnew1 7">16 ~57"L8381  79SCRUBINTERVAL_MASKnew1ibute__rnL0IIhrmem_ctl_infre__packed__am2047t >r2031c#L3.c*ef="+confoDESC"2031c>20_lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c20_8t >r20ad_dclk_freqion )foDESC"20ad_>20_lanew1"L33 = OCK =fin46c#L3.c#19)ILOCK]>&g9;
)I944" clrs2049t >r201649"L83894CK]>&rivers/e20164>20_1655c#L3.c#1615" i3d=iCK =fine 81657"L8381  79     /a>20adv"L33 = 0 ;LOCK =fin57"L8381  79     /a>16= ~57"L8381  79SSR_MODE_MASKnew1"L33 =heck_mcdemion 0 */
20aav"L33 = 0 ;LOCK =fin57"L8381  79     /a>
20aav"L33 = 0 ;LOCK =finc/i7cofine 
20a1655c#L3.c#1615" i3d=c/i7coOCK =fine 9cILOCK]>&g95" class="lin1615">163="L93ass=93 L333wg9"L4mhz>&g95" class="lL333wg9"L4mhznew1ledarro86ABLA86K =1  74N2">165="L7icA_outBL[OCK =fine 1649"L33394arbute__rnL0IIhrmem_ctl_infre__packed__am2055t >r20DIMM9_COR_957 claew1nfie20DIM>20alanew1"L33 = OCK =fine 9e8LOCK]>&g9]>&g9#1626" i3d="L566crub_finerva  crTABL[2],LOCK6crub_finerva 94arbute__rnL0IIhrmem_ctl_infre__packed__am2056t >r20MEM_DEVICEion )nrivers/e20MEM>20aBL[4],LOCK =fine 20aers/e>
158="L5nac/u"194#3,LOC9 =fine 20a8rs/e>
20a9rs/e>
)I944" clrs206at >r20getei3d="Lf="+confoDESC"20get>20gev"L33 = 0 ;LOCK =fin57"L8381  79  e 9e8LOCK]>&g9]>&g/manufacturhrefiL333wg9"L4mhz>&g95" class="lL333wg9"L4mhznew1l*rs not found\n"iti9t">)I944" clrs2061t >r203d="L,4andf="+confoDESC"203d=>20gav"L33 = 0 ;LOCK =finnnnnnnnn c I20dle>20gav"L33 = 0 ;LOCK =fin4fine 
    1657"L83new_bw>&g95" class="lnew_bw94aribute__rnL0IIhrmem_ctl_infre__packed__am2063t >r20   h&3d=".="lin1604">16220   >20glanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2064t >r20ar5 should="lin1604">16220ar5>20g1655c#L3.c#1615" i3d=OCK i3d="L8="L50" cl6crub_finerva  crTABL[2],LOCK6crub_finerva 94ara||n57"L8381  79SCRUBINTERVAL_MASKnew1i1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2065t >r20lpossible.="lin1604">16220lpo>20glanew1"L33 = OCK =fin15" i3d=ine 20g6anew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2067t >r20>, , >20gBL[4],LOCK =fine 1w_scrubnew1 edarro86ABLA86K =SCRUBINTERVAL_MASKlass="lin1628">SCRUBINTERVAL_MASKnew1 7">16 #1626" i3d="L566crub_finerva  crTABL[2],LOCK6crub_finerva 94arbute__rnL0IIhrmem_ctl_infre__packed__am2068t >r20, 20gi"L33, tructfine 
&rivers/e20  <>20g1655c#L3.c#1615" i3d=ine 16"lin169ters not found\n"iti9t">)I944" clrs207at >r20, 20, 655c#L3.c#1615" i3d=iCK =fine 8)I944" clrs2071t >r20"L33 =hecdemion new1nfie20"L3>20,av"L33 = 0 ;LOCK =finnnnnnnnnL3.c#1615" i3d=iCK =fine 8STARTSCRUBnew1 |n57"L8381  791w_scrubnew1ibute__rnL0IIhrmem_ctl_infre__packed__am2072t >r20rs/edac/i7cor163new1nfie20rs/>20,BL[4]"L33 = OCK =fine 9/a>    nuctLOCK =fine new1nfie20>nu>20,av"L33 = 0 ;LOCK =fin56c#L3.c#19)ILOCK]>&g9;
)I944" clrs2074t >r20L(9>8603159="L7href20L(9>20,1655c#L3.c#1615" i3d="L85L82" clas8Taci_rMa"_ss=fig_dwESdidmcrTABL[2],LOCci_rMa"_ss=fig_dwESdvaraa1657"L8381  79     /a>20,lanew1"L33 = OCK =fine 851573">1588Dgw_ss1, O>     /a>16= ~57"L8381  79SSR_MODE_MASKnew1"L33 =heck_mcdemion 0 */
20,BL[4],LOCK =fine      /a>
20,ers/edac/i7cor1636c#L3.82ref="+con8daram" clanew1"L320,8t >r2015748683TU876varam" claf20157>20,)(9> 103
)I944" clrs2079t >r20rs/edac/i7cor163new1nfie20rs/>20,lanew1"L33 = OCK =fine 8     /a>>
20amL[4]"L33 = OCK =fine 9/a>      88eldaram" cla20RCV>20aav"L33 = 0 ;Line &g9new_bw>&g95" class="lnew_bw94arbute__rnL0IIhrmem_ctl_infre__packed__af2082t >r20631c#L3.gtf="+confoDESC"20631>20aBL[4]r1636c#L3.82ref="+con8daram" clanew1"L32083t >r20)-&3d=" )Lf="+confoDESC"20)-&>20alanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2084t >r20controllcfpan class=>c I20con>20aBL[4],LOCK =fine 20a Processor 5500 Series 9wlasvtgctusdram_scrub_ratefine 16ss=w2etacurr48"LLcrub rate1ac/u"/edac/i7cor1631c#L3.gt AdviseOmcnlog that CK)2086t >r20dABLs="li7) != 1"foDESC"20dAB>20a48
>
20aers/e>
20a8rs/e>
)I944" clrs2089t >r20 handleu*ef="+confoDESC"20 ha>20alanew,LOCK =fine &g9;L91" cl209at >r20 20 >
20 av"L33 = 0 ;L15" i3d="L86claadd0TA8K]>&g9"valuee>*elnion 0 *86/spa867drivers/edacne nuctLOCK =fine 20 2v"L33 = 0 ;L15" i3d="L86claadd0TA8pci_ i3d="L*/

20 av"L33 = 0 ;Lc/i7coOCK =fine 9cILOCK]>&g95" class="lin1615">163="L93ass=93 cache_a= - =fi/manufacturhrefucache_a= - =fi/new1led64"L33 =heck_mcdemion 0 */
20 4v"L33 = 0 ;Lc/i7coOCK =fine 9cILOCK]>&g95" class="lin1615">163="L93ass=93 L333wg9"L4mhz>&g95" class="lL333wg9"L4mhznew1ledarro86ABLA86K =1  74N2">165="L7icA_outBL[OCK =fine 1649"L33394arbute__rnL0IIhrmem_ctl_infre__packed__am2095t >r20 20 lanew1"L33 = e 9e8LOCK]>&g9]>&g9#1626" i3d="L566crub_rateLy Con 21 ine 20 lanew1"L33 = OCK =fine 9c6asvK]>&g95" class="lin1615">163="L93ass=93 acrubva  crTABL[2],LOCK6crubva 94arbute__rnL0IIhrmem_ctl_infre__packed__am2097t >r20INOTIFY_DONEK]>>
20 lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2098t >r20<89 }
20 )(9> 103
158="L5, function 2="lin169ters not found\n"iti9t">)I944" clrs2099t >r20ac/i8cor1589ldaram" clan20ac/>20 lanew1"L33 = OCK =fine 8165="L7icA_outBL[OCK =fine 
211a655c#L3.c#16OCK i3d="L8="L50" cla i3d="L*/
)I944" clrs2111t >r211NOTIFY_DONEK]>>
210av"L33 = 0 ;LOCK =finine 
211BL[4]"L33 = OCK =fine 9/a>    2103(9> 103
)I944" clrs2114t >r211 210lanew1"L33 = OCK =fine 9cILOaci_rMa"_ss=fig_dwESdidmcrTABL[2],LOCci_rMa"_ss=fig_dwESdvaraa1657"L8381  79210lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms2116t >r211A_o" crun26" ++new1nfie211A_>2106(9> 103
)I944" clrs2107t >r211NOTIFY_DONEK]>>
210lanew1"L33 = OCK =fine 9c7LOacrubva  crTABL[2],LOCK6crubva 94ar 7">16= darro86ABLA86K =SCRUBINTERVAL_MASKlass="lin1628">SCRUBINTERVAL_MASKnew1bute__rnL0IIhrmem_ctl_infre__packed__af2118t >r21189 }
2108655c#L3.c#16OCK i3d="L8="L50" clacrubva  crTABL[2],LOCK6crubva 94ariute__rnL0IIhrmem_ctl_infre__packed__af2119t >r211c/i8cor1589ldaram" clan211c/>2101655c#L3.c#1615" i3d=ine 211mL[4]"L33 = OCK =fine 9/a>    162"+cdevar21   >2111(9> 103
)I944" clrs21I2t >r21ILOC9 =fin91754="L5359RC21ILO>211lanew1"L33 = OCK =fine 9cILO6crub_rateLy Con 21 ine &g9]>&g/manufacturhrefiL333wg9"L4mhz>&g95" class="lL333wg9"L4mhznew1l*rs not found\n"iti9t">)I944" clrs21I3t >r21ecicA_decr163" irivers/e21eci>211av"L33 = 0 ;LOCK =fin1000000 *>163="L93ass=93 cache_a= - =fi/manufacturhrefucache_a= - =fi/new1bute__rnL0IIhrmem_ctl_infre__packed__am2114t >r21_     h&3d="rnL02foDESC"21_  >21Ilanew1"L33 = OCK =fine 9cILOao_di3d="L*/
    1657"L83acrubva  crTABL[2],LOCK6crubva 94aribute__rnL0IIhrmem_ctl_infre__packed__af21I5t >r21mm9*elni91211lanew1"L33 = ine >91nfoDEew1nfie21ULO>21IBL[4]r1636c#L3.82ref="+con8daram" clanew1"L321I7t >r21v_dmi_c#Lry =finrivers/e21v_d>211lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c21I8t >r21=fine 21Ii"L33,LOCK =fine &g9;L91" cl21I9t >r21ine 21IBL[4]l_infreDMI_ENTRY_MEM_DEVICE"itint"212at >r21ine 212m655c#L3.c#1615" i3d="L86claadd0TA8K]>&g9"valuee>*elnion 0 *86/spa867drivers/edacne nuctLOCK =fine 212lanew1"L33 = OCK =fine 9c1LOCK]>&g95" class="lin1615">163="L93ass=93 Cci_ne 212BL[4]"L33 = OCK =fine 9/a>    2123(9> 103
158="L5s *lin169ters not found\n"iti9t">)I944" clrs21i4t >r21212lanew1"L33 = OCK =fine 9cILOaci_rMa"_ss=fig_dwESdidmcrTABL[2],LOCci_rMa"_ss=fig_dwESdvaraa165="L7icA_outBL[OCK =fine )IidmcrTABL[2],LOCci_non">)Inew1>    1657"L83MC_CFG_CONTROLd="L*/
 7">1657"L8381  79212lanew1"L33 = OCK =fine 9c5LOrci_ne 16= ~0x3bute__rnL0IIhrmem_ctl_infre__packed__af21i6t >r21=fine 212lanew1"L33 = OCK =fine 9c6asaci_write_ss=fig_dwESdidmcrTABL[2],LOCci_write_ss=fig_dwESdvaraa165="L7icA_outBL[OCK =fine )IidmcrTABL[2],LOCci_non">)Inew1>    1657"L83MC_CFG_CONTROLd="L*/
ute__rnL0IIhrmem_ctl_infre__packed__af21i7t >r21212BL[4],LOCK =fine MC_CFG_UNLOCKoDESibute__rnL0IIhrmem_ctl_infre__packed__af21i8t >r21vicn_locat="m" cnew1nfie21vic>212i"L33, tructfine 
212lanew1"L33 = OCK =fine 8nuctLOCK =uctusdram_scrub_rateLy Con 21 ine 213lanew1"L33 = OCK =fine 9evarfine nuctLOCK =anewsdram_scrub_rateLy Con 21 ine 213av"L3}aram" claine 213BL[4]"L33 = OCK =fine 9/a>    21alanew,LOCK =fine &g9;L91" cl2134t >r21erial_numbe"m" cnew1nfie21eri>21a/edacl_infreDMI_ENTRY_MEM_DEVICE"itint"2135t >r21 21alanew1"L33 = 15" i3d="L86claadd0TA8K]>&g9"valuee>*elnion 0 *86/spa867drivers/edacne nuctLOCK =fine 213lanew1"L33 = OCK =fine 9c6asvK]>&g95" class="lin1615">163="L93ass=93 Cci_ne 213lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c21a8t >r21xtended_sizem" cnew1nfie21xte>213)(9> 103
158="L5s *lin169ters not found\n"iti9t">)I944" clrs2139t >r21et-clk_speerm" cnew1nfie21et->21alanew1"L33 = OCK =fine 8165="L7icA_outBL[OCK =fine )IidmcrTABL[2],LOCci_non">)Inew1>    1657"L83MC_CFG_CONTROLd="L*/
 7">1657"L8381  79214lanew1"L33 = OCK =fine 9evarrci_ne 16= ~0x3bute__rnL0IIhrmem_ctl_infre__packed__af2141t >r21ine 9rc=1n94eldaram" cla21ine>214lanew1"L33 = OCK =fine 9c1LOaci_write_ss=fig_dwESdidmcrTABL[2],LOCci_write_ss=fig_dwESdvaraa165="L7icA_outBL[OCK =fine )IidmcrTABL[2],LOCci_non">)Inew1>    1657"L83MC_CFG_CONTROLd="L*/
ute__rnL0IIhrmem_ctl_infre__packed__af2142t >r21a hr9f="dr94754="L5359RC21a h>21_av"L33 = 0 ;LOCK =finrM8<MC_CFG_LOCKoDESibute__rnL0IIhrmem_ctl_infre__packed__af2143t >r21lin1630"gtf="+confoDESC"21lin>21_av"L3}aram" claine 214lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2145t >r21n consid)fpan class=>c I21n c>21_lanew,LOCK =fine &g9"valuee>*elnion 0 *86/spa867drivers/edacne &g9;L91" cl2146t >r21e invalid.="lin1604">16221e i>21_BL[4]l_infreDMI_ENTRY_MEM_DEVICE"itint"2147t >r2131c#L3.c*ef="+confoDESC"2131c>214lanew1"L33 = OCK =fine 9c7LOa  74N2">165="L7icA_outBL[OCK =fine 21_lanew1"L33 = OCK =finnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn7">1657"L8381  79165="L7icA_outBL[OCK =fine 
&rivers/e21164>21_1655c#L3.c#1615" i3d=================================3d="L8="L50" clEDAC_MOD_STRd="L*/
215a655c#L3.c#16OCK OCK =fine 9c6asvnlikelvers/edac/eeeeeevnlikelvvaraai3d="L8="L50" cla  74N2">165="L7icA_outBL[OCK =fine &g9;L91" cl2151t >r21et-clk_speerion new1nfie21et->21aav"L33 = 0 ;LOCK =fin57"L8381  79_infreDMI_ENTRY_MEM_DEVICE"itint"2152t >r21TEST9ERR_R95754="L5359RC21TES>215av"L33 = 0 ;LOCK =finrM8<1port via EDAC\n"in169teibute__rnL0IIhrmem_ctl_infre__packed__af2153t >r21k_freqion ea= -1"foDESC"21k_f>215av"L3}aram" claine 215lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2155t >r21DIMM9_COR_957 claew1nfie21DIM>215lanew,LOCK =fine &g9"valuee>*elnion 0 *86/spa867drivers/edacne &g9;L91" cl2156t >r21MEM_DEVICEion )nrivers/e21MEM>215BL[4]l_infreDMI_ENTRY_MEM_DEVICE"itint"2157t >r21v_dmi_c#Lry =fin=ivers/e21v_d>2157655c#L3.c#16OCK OCK =fine 9c6aslikelvers/edac/eeeeeelikelvvaraa3d="L8="L50" cla  74N2">165="L7icA_outBL[OCK =fine &g9;L91" cl2158t >r21K =fine 215lanew1"L33 = OCK =fin4rro86ABLA86K =t;it86ci_release_generic_87eLy Con 21 ine 165="L7icA_outBL[OCK =fine 2151655c#L3.c#16OCK ute__rnL0IIhrmem_ctl_infre__packed__af216at >r21getei3d="Lf="+confoDESC"21get>21gev"L33 = 0 ;LOCK =fin57"L8381  7921gav"L33 = 0 ;LOCK =finnnnnnnnn hrv"+c8_infreDMI_ENTRY_MEM_DEVICE"itint"2162t >r21dled larefpan class=>c I21dle>21gav"L33 = 0 ;LOCK =fin3 = 0 ;LOCK =fin57"L8381  79165="L7icA_outBL[OCK =fine 16221   >2163(9> 103
165="L7icA_outBL[OCK =fine 
16221ar5>21g1655c}aram" claine 16221lpo>216lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms2166t >r2131c#L3.c#ef="+confoDESC"2131c>21g6anew,LOCK =fine 158="L5_fine 158="L5_finvaraaOCK =fine 8&g9" i3d="L*/
<86/spa8 i3utBLrs/edacne &g9" i3d="L*/
<86/spa8 i3utBLi1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2167t >r21>, , >21gBL[4]l_infreDMI_ENTRY_MEM_DEVICE"itint"2168t >r21, 216lanew1"L33 = OCK =fine 8&rivers/e21  <>21g1655c#L3.c#16OCK =fine 8&g9"valuee>*elnion 0 *86/spa867drivers/edacne 217mL[4]"L33 = OCK =fine 9/a>    2171L[4],LOCK =fOCK 163="L93ass=93 vnlikelvers/edac/eeeeeevnlikelvvaraai3d="L8="L50" clcturhrefintel/s/nehalem/5l|| i3d="L8="L50" clcturhrefintel/s/nehalem/5arrTABLAs>nuctLOCK =fine 217av"L33 = 0 ;LOCK =fin4fine 1657"L8381  79
&g9;L91" cl2174t >r21L(9>8603159="L7href21L(9>21,1655c#L3.c#1615" i3d="L85L82" clas8T86/spa86rint"Couldi3d="L32fine= ci handler\n"in169teibute__rnL0IIhrmem_ctl_infre__packed__af21L5t >r21eadaocketir_inffnew1nfie21ead>21,lanew1"L33 = OCK =finine 21,BL[4],LOCK =f}aram" claine 217lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c21,8t >r2115748683TU876varam" claf21157>21,)(9> 103
nuctLOCK =fine 2179L[4]"L33 = OCK =fine 9/a>    >
218lanew1"L33 = OCK =fine 9evare;it8dbgLy Con 21 ine 1657"L8381  79
218lanew1"L33 = OCK =fine 9edaram" cl9CV0nfiel2182t >r21631c#L3.gtf="+confoDESC"21631>218lanew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs2183t >r21)-&3d=" )Lf="+confoDESC"21)-&>2183L[4],LOCK =fOCK 163="L93ass=93 a  74N2">165="L7icA_outBL[OCK =fine enablewscrubutBLi1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2184t >r21controllcfpan class=>c I21con>2181655c#L3.c#1615" i3d="L85L82" clas8Tdisablewsdram_scrub_settingLy Con 21 ine 218lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms2186t >r21dABLs="li7) != 1"foDESC"21dAB>2186(9> 103
)I944" clrs2187t >r21INOTIFY_DONEK]>>
218lanew1"L33 = OCK =fine 9c7LO86/spa86ci_87erreleaseLy Con 21 ine <86/spa86ci_87erreleasevaraa/edacne 218i"L33, tructfine 
2189(9> 103
)I944" clrs219at >r21 219lanew1"L33 = OCK =fine 9evar86/spa8 iletewsysfs8 i3icesd="L*/
<86/spa8 iletewsysfs8 i3icesvaraaarro86ABLA86K =fine >
219lanew1"L33 = OCK =fine 9c1LOe;it8mc8 il8mcLy Con 21 ine     2193(9> 103
219lanew1"L33 = OCK =fine 9c5LOe;it8mc8freee 21 lanew1"L33 = OCK =fine 9c6as86/spa8 i3d="L*/
<86/spa8 i3utBL[OCK =fine 
>
21 lanew}aram" claine 
219i"L33, tructfine 
219lanew,LOCK =fine 158="L5_fine 158="L5_finvaraaOCK =fine 8&g9" i3d="L*/
<86/spa8 i3utBLrs/edacne &g9" i3d="L*/
<86/spa8 i3utBLi1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl221at >r221at 8cor1589ldaram" clan221at>220>
220av"L33 = 0 ;L15" i3d="L86claadd0TA86asvtTABLsrpv_LOCK)->i86 2202v"L33 = 0 ;L15" i3d="L86claadd0TA8K]>&g9"valuee>*elnion 0 *86/spa867drivers/edacne 2203(9> 103
fine 220lanew1"L33 = 15" i3d="L86claadd0TA8e;it8mc8layecidmcrTABL[2],LOe;it8mc8layecanew1OCK =fine 9c6aslayecsd="L*/

220lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms2216t >r221A_o" crun26" ++new1nfie221A_>2206(9> 103
)I944" clrs2207t >r221NOTIFY_DONEK]>>
220lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2218t >r22189 }
220)(9> 103

220lanew1"L33 = OCK =fine 8
221lanew1"L33 = OCK =fine 9evarlayecsd="L*/
&g95" class="lis_virt_csrownew1ledarro86ABLA86K =falseLy Con 21 ine 162"+cdevar22   >221lanew1"L33 = OCK =fine 9c1LOlayecsd="L*/

221lanew1"L33 = OCK =fine 9cILOlayecsd="L*/
2213(9> 103
22Ilanew1"L33 = OCK =fine 9cILOcturhrefintel/s/nehalem/5ledarro86ABLA86K =e;it8mc8allocidmcrTABL[2],LOe;it8mc8allocvaraaarro86ABLA86K =86/spa8 i3d="L*/
<86/spa8 i3utBL[OCK =fine narro86ABLA86K =ARRAY_SIZELy Con 21 ine 
_infreDMI_ENTRY_MEM_DEVICE"itint"22I5t >r22mm9*elni91221lanew1"L33 = OCK =finnnnnnnnnnnnn=fi/of(s/edacne >91nfoDEew1nfie22ULO>2216(9> 103
OCK 163="L93ass=93 vnlikelvers/edac/eeeeeevnlikelvvaraai3d="L8="L50" clcturhrefintel/s/nehalem/5)i1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl22I7t >r22v_dmi_c#Lry =finrivers/e22v_d>221BL[4],LOCK =fine 221i"L33, tructfine 
221lanew1"L33 = OCK =fine 81657"L8381  79
222mL[4]"L33 = OCK =fine 9/a>    222lanew1"L33 = OCK =fine 9c1LOrs/edudimm_check_mc_eccdaledarro86ABLA86K =fine nuctLOCK =fine 222lanew1"L33 = OCK =fine 9cILOmemsetLy Con 21 ine 222lanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl22i4t >r22222lanew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs22i5t >r22=fine 222lanew1"L33 = OCK =fine 9c5LOr  74N2">165="L7icA_outBL[OCK =fine 
<86/spa8 i3utBLbute__rnL0IIhrmem_ctl_infre__packed__af22i6t >r22=fine 222lanew1"L33 = OCK =fine 9c6as86/spa8 i3d="L*/
<86/spa8 i3utBL[OCK =fine 222lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c22i8t >r22vicn_locat="m" cnew1nfie22vic>222)(9> 103
)I944" clrs22i9t >r22bank_locat="m" cnew1nfie22ban>222lanew>
223lanew>
223av"L3>
22n1615">
)I944" clrs22a3t >r22manufacture"m" cnew1nfie22man>2233(9> 103
nuctLOCK =mtype_cape 
223lanew1"L33 = OCK =fine 9cILOcturhrefintel/s/nehalem/5[OCK =fine 223lanew1"L33 = OCK =fine 9c5LOcturhrefintel/s/nehalem/5[OCK =fine 223lanew1"L33 = OCK =fine 9c6asfine nuctLOCK =modrew1ne 223lanew1"L33 = OCK =fine 9c7LOfine nuctLOCK =modrvecidmcrTABL[2],LOmodrvecem/5ledarro86ABLA86K =I7CORE_REVISIONidmcrTABL[2],LOI7CORE_REVISIONem/5C"mem_ctl_infrTABL *OCK =fine 223)(9> 103
"=f ine  #3d=7;d"in169te>_infreDMI_ENTRY_MEM_DEVICE"itint"2239t >r22et-clk_speerm" cnew1nfie22et->22alanew1"L33 =                           arro86ABLA86K =86/spa8 i3d="L*/
<86/spa8 i3utBL[OCK =fine 224lanew1"L33 = OCK =fine 9evarfine 
224lanew1"L33 = OCK =fine 9c1LOfine 
224BL[4]"L33 = OCK =fine 9/a>    2243(9> 103
)I944" clrs2244t >r225 &gat all ="+confoDESC"225 &>224lanew1"L33 = OCK =fine 9cILOrcLy Con 21 ine 
<86/spa8 i3utBL)bute__rnL0IIhrmem_ctl_infre__packed__af2245t >r22n consid)fpan class=>c I22n c>224lanew1"L33 = OCK 163="L93ass=93 vnlikelvers/edac/eeeeeevnlikelvvaraaOCK =fine 9cILOrcLy Con 21 ine &g9;L91" cl2246t >r22e invalid.="lin1604">16222e i>2246anew1"L33 =         gone arro86ABLA86K =fail0Ly Con 21 ine 224lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2248t >r22ad_dclk_freqion )foDESC"22ad_>224i"L33, tructfine 
&rivers/e22164>2249(9> 103
)I944" clrs225at >r22ad_dclk_freqion new1nfie22ad_>225lanew1"L33 = OCK =fine 9evaranewTimm_ss=figLy Con 21 ine 2251(9> 103
)I944" clrs2252t >r22TEST9ERR_R95754="L5359RC22TES>225lanew1"L33 = OCK =fine 9cILOmine 1657"L8381  79
2253(9> 103
)I944" clrs2254t >r22COR_ERRrefreturnnew1nfie22COR>225lanew1"L33 = OCK =fine 9cILOcturhrefintel/s/nehalem/5[OCK =fine &g9cladimms2256t >r22MEM_DEVICEion )nrivers/e22MEM>2256(9> 103
)I944" clrs2257t >r22v_dmi_c#Lry =fin=ivers/e22v_d>2257655c#L3.c#16OCK OCK =fine 9c6asa  74N2">165="L7icA_outBL[OCK =fine enablewscrubutBLi1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2258t >r22K =fine 225lanew1"L33 = OCK =fin4rro86ABLA86K =tnablewsdram_scrub_settingLy Con 21 ine 2259L[4]"L33 = OCK =fine 9/a>    22gev"L33 = 0 ;L)I944" clrs2261t >r223d="L,4andf="+confoDESC"223d=>2261L[4],LOCK =fOCK 163="L93ass=93 vnlikelvers/edac/eeeeeevnlikelvvaraaarro86ABLA86K =e;it8mc8add8mcLy Con 21 ine c I22dle>22gav"L33 = 0 ;LOCK =finOCK =fine 816222   >2263(9> 103
3 = 0 ;L)I944" clrs2264t >r22ar5 should="lin1604">16222ar5>22g1655c>
1porting OCKwe just enabled i"/edac/i7cor1631c#L3.gt AdviseOmcnlog that CK)2265t >r22lpossible.="lin1604">16222lpo>226lanew>
)I944" clrs2266t >r2231c#L3.c#ef="+confoDESC"2231c>22g6anewrs not found\n"iti9t">)I944" clrs2267t >r22>, , >226BL[4],LOCK =fine 226lanew1"L33 = OCK =fingone arro86ABLA86K =fail0Ly Con 21 ine &rivers/e22  <>22g1655c#L3.c#16}aram" claine 227a655c#L3.c#16OCK OCK =fine 9c6as86/spa88rMate_sysfs8 i3icesd="L*/
<86/spa88rMate_sysfs8 i3icesvaraaarro86ABLA86K =fine 227av"L33 = 0 ;LOCK =fin57"L8381  79227av"L33 = 0 ;LOCK =fin4fine 22,1655c#L3.c#1615" i3d=gone arro86ABLA86K =fail0Ly Con 21 ine 22,lanew1"L33 = }aram" claine 2276anewrs not found\n"iti9t">)I944" clrs2277t >r22)INOTIFY_BA;ine new1nfie22)IN>227lanew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs22,8t >r2215748683TU876varam" claf22157>22,)(9> 103
*elnion 0 *8njeclccda.227lanew1"L33 = OCK =fine 8*elnion 0 *8njeclccda.>
228lanew1"L33 = OCK =fine 9evaras/edudimm_check_mc_eccda[OCK =fine *elnion 0 *8njeclccda.  88eldaram" cla22RCV>228lanew1"L33 = OCK =fine 9c1LOrs/edudimm_check_mc_eccda[OCK =fine *elnion 0 *8njeclccda.228lanew1"L33 = OCK =fine 9cILOrs/edudimm_check_mc_eccda[OCK =fine *elnion 0 *8njeclccda.2283(9> 103
*elnion 0 *8njeclccda.c I22con>228lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2285t >r22eeeeeeee*ef="+confoDESC"22eee>2285anew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs2286t >r22dABLs="li7) != 1"foDESC"22dAB>228lanew1"L33 = OCK =fine 9c6as86/spa86ci_87ercrMateLy Con 21 ine <86/spa86ci_87ercrMatevaraa>
228lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2288t >r22arro8TABLA886varam" claf22arr>228)(9> 103
)I944" clrs2289t >r22 handleu*ef="+confoDESC"22 ha>228lanew1"L33 = OCK =fine 8
229mL[4]"L33 = OCK =fine 9/a>    >
229lanew1"L33 = ine 229BL[4]"L33 = OCK =fine 9/a>    2293(9> arro86ABLA86K =fail0Ly Con 21 ine     22 4v"L33 = 0 ;L=fine 229lanew1"L33 = OCK =fine 9c5LOe;it8mc8freee 22 lanew1"L33 = OCK =fine 9c6as86/spa8 i3d="L*/
<86/spa8 i3utBL[OCK =fine 
>
2297anew1"L33 = ine 
229i"L33}aram" claine 2299L[4]"L33 = OCK =fine 9/a>    230lanew>
)I944" clrs2311t >r231NOTIFY_DONEK]>>
230av"L3>
)I944" clrs2312t >r2318="863LOC89754="L5359RC2318=>2301615">
)I944" clrs2313t >r2312303(9> >
)I944" clrs2314t >r231 2301655c>
)I944" clrs2315t >r231230lanew>
)I944" clrs2316t >r231A_o" crun26" ++new1nfie231A_>2306(9> >
)I944" clrs2307t >r231NOTIFY_DONEK]>>
230lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2318t >r23189 }
230)(9> ,LOCK =fine 
230lanew1"L33 =                           c/ist 15" i3d="L86claadd0TA8pci_ i3ice_ididmcrTABL[2],LOCci_ i3ice_idanew1s/edacne &g9;L91" cl231at >r23INOTIFY_STOP26" new1nfie23INO>231162"+cdevar23   >231lanew1"L33 = fine narro86ABLA86K =coun/edudimm_check_mcoun/ccdaled0C"mem_ctl_infrTABL *OCK =fine 2312v"L33 = 0 ;L15" i3d="L86claadd0TA8K]>&g9" i3d="L*/
<86/spa8 i3utBLrs/edacne &g9" i3d="L*/
<86/spa8 i3utBLC"mem_ctl_infrTABL *OCK =fine 231lanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2314t >r23_     h&3d="rnL02foDESC"23_  >231lanew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs23I5t >r23mm9*elni91231lanew1"L33 = OCK =fine 9c5LOcutex_lo 1657"L8381  79>91nfoDEew1nfie23ULO>2316anewrs not found\n"iti9t">)I944" clrs23I7t >r23v_dmi_c#Lry =finrivers/e23v_d>231lanew1"L33 = Oa href="d9)8LOCK]>&g9;
in169ters not found\n"iti9t">)I944" clrs23I8t >r23=fine 231i"L33>
)I944" clrs23I9t >r23ine 231lanew>
)I944" clrs232at >r23ine 232a655c#L3.c#16OCK OCK =fine 9c6asvnlikelvers/edac/eeeeeevnlikelvvaraa="L86claadd0TA8probedidmcrTABL[2],LOCrobed655c#OCK = 1))tl_infreDMI_ENTRY_MEM_DEVICE"itint"2321t >r23array_handlem" cnew1nfie23arr>232av"L33 = 0 ;LOCK =fin57"L8381  791657"L8381  79232av"L33 = 0 ;LOCK =finine 2323(9> 103
}aram" claine 2324v"L33 = 0 ;L=fine 232lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms23i6t >r23=fine 232lanew1"L33 = OCK =fine 9c6asrcLy Con 21 ine &g9anewall8 i3icesd="L*/
<86/spa8anewall8 i3icesvaraa)bute__rnL0IIhrmem_ctl_infre__packed__af23i7t >r232327655c#L3.c#16OCK OCK =fine 9c6asvnlikelvers/edac/eeeeeevnlikelvvaraaOCK =fine 9cILOrcLy Con 21 ine &g9;L91" cl23i8t >r23vicn_locat="m" cnew1nfie23vic>232lanew1"L33 = OCK =fingone arro86ABLA86K =fail0Ly Con 21 ine 2329L[4]"L33 = OCK =fine 9/a>    233lanew1"L33 = OCK =fine 9evarlist_ine_each_s9Lrvers/edac/eeeeeelist_ine_each_s9LrvvaraaOCK =fine 9cILOK]>&g9" i3d="L*/
<86/spa8 i3utBL>n7">1657"L8381  79narro86ABLA86K =listidmcrTABL[2],LOlistccda)tl_infreDMI_ENTRY_MEM_DEVICE"itint"2331t >r23stypA_detailm" cnew1nfie23sty>233av"L33 = 0 ;LOCK =fin57"L8381  79233av"L33 = 0 ;LOCK =fin4fine &g9>158="L5_fine 158="L5_finvaraaOCK =fine 9cILOK]>&g9" i3d="L*/
<86/spa8 i3utBL)bute__rnL0IIhrmem_ctl_infre__packed__af23a3t >r23manufacture"m" cnew1nfie23man>2333(9> 103
3 = 0 ;LOCK OCK =fine 9c6asvnlikelvers/edac/eeeeeevnlikelvvaraaOCK =fine 9cILOrcLy Con 21 ine &g9;L91" cl2334t >r23erial_numbe"m" cnew1nfie23eri>2331655c#L3.c#1615" i3d=OCK =fingone arro86ABLA86K =fail1Ly Con 21 ine 233lanew1"L33 = }aram" claine 2336anewrs not found\n"iti9t">)I944" clrs2337t >r23233lanew1"L33 = Oa href="d9)8LOCK]>&g9;
in169ters not found\n"iti9t">)I944" clrs2338t >r23xtended_sizem" cnew1nfie23xte>233i"L33>
)I944" clrs2339t >r23et-clk_speerm" cnew1nfie23et->233lanew>
)I944" clrs234at >r23__packed__ion )fnew1nfie23__p>234lanew>
)I944" clrs2341t >r23ine 9rc=1n94eldaram" cla23ine>234av"L3>
)I944" clrs2342t >r23a hr9f="dr94754="L5359RC23a h>2341615">
)I944" clrs2343t >r23lin1630"gtf="+confoDESC"23lin>2343(9> >
)I944" clrs2344t >r235 &gat all ="+confoDESC"235 &>2341655c>
)I944" clrs2345t >r23n consid)fpan class=>c I23n c>234lanew1"L33 = OCK i3d="L8="L50" clcoun/edudimm_check_mcoun/ccda)tl_infreDMI_ENTRY_MEM_DEVICE"itint"2346t >r23e invalid.="lin1604">16223e i>2346anew1"L33 =         4fine 234BL[4],LOCK =fine 2348anew1"L33 = }aram" claine &rivers/e23164>2349L[4]"L33 = OCK =fine 9/a>    235lanew1"L33 = OCK =fine 9evar86/spa86rint_infreDMI_ENTRY_MEM_DEVICE"itint"2351t >r23et-clk_speerion new1nfie23et->235av"L33 = 0 ;LOCK =finL33 = Oa href="d9)8OCKingL>"DNTRY_ loaded,d3d=7;d memory c/i8TABl&q(s) found.\n"in169te>_infreDMI_ENTRY_MEM_DEVICE"itint"2352t >r23TEST9ERR_R95754="L5359RC23TES>235av"L33 = 0 ;LOCK =finL33 = OCK =fine 9evarcoun/edudimm_check_mcoun/ccda)C"mem_ctl_infrTABL *OCK =fine 235lanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2354t >r23COR_ERRrefreturnnew1nfie23COR>235lanew1"L33 = OCK =fine 9cILOcutex_vnlo 1657"L8381  79235lanew1"L33 = ine 2356anewrs not found\n"iti9t">)I944" clrs2357t >r23v_dmi_c#Lry =fin=ivers/e23v_d>2357655carro86ABLA86K =fail1Ly Con 21 ine     235)(9> 103
&g9" i3d="L*/
<86/spa8 i3utBL>n7">1657"L8381  79narro86ABLA86K =listidmcrTABL[2],LOlistccda)"L33 = OCK =fine 9/a>    235lanew1"L33 =         57"L8381  79158="L5_fine 158="L5_finvaraaOCK =fine 9cILOK]>&g9" i3d="L*/
<86/spa8 i3utBL)bute__rnL0IIhrmem_ctl_infre__packed__af236at >r23getei3d="Lf="+confoDESC"23get>236mL[4]"L33 = OCK =fine 9/a>    236lanew1"L33 = OCK =fine 9c1LO86/spa86uewall8 i3icesd="L*/
<86/spa86uewall8 i3icesvaraa)bute__rnL0IIhrmem_ctl_infre__packed__af2362t >r23dled larefpan class=>c I23dle>23gav"L3arro86ABLA86K =fail0Ly Con 21 ine     16223   >2363(9> 103
1657"L8381  7916223ar5>2364anew1"L33 = ine 16223lpo>236lanew}aram" claine 23g6anewrs not found\n"iti9t">)I944" clrs2367t >r23>, , >236BL[4]Oa href="d9)8LOCK]>&g9;
in169ters not found\n"iti9t">)I944" clrs2368t >r23, 236i"L33>
)I944" clrs2369t >r23  <86CK =86CK]>&rivers/e23  <>236lanew>
)I944" clrs237at >r23, 237lanew>
)I944" clrs2371t >r23"L33 =hecdemion new1nfie23"L3>237av"L3,LOCK =voide 1movevaraa15" i3d="L86claadd0TA86ci_ i3d="L*/
    237av"L3l_infreDMI_ENTRY_MEM_DEVICE"itint"2373t >r23>nuctLOCK =fine new1nfie23>nu>2373(9> 103
15" i3d="L86claadd0TA8K]>&g9" i3d="L*/
<86/spa8 i3utBLrs/edacne &g9" i3d="L*/
<86/spa8 i3utBLC"mem_ctl_infrTABL *OCK =fine 8603159="L7href23L(9>237lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre23L5t >r23eadaocketir_inffnew1nfie23ead>237lanew1"L33 = OCK =fine 9c5LOe;it8dbgLy Con 21 ine 2376anewrs not found\n"iti9t">)I944" clrs2377t >r23)INOTIFY_BA;ine new1nfie23)IN>237lanew1"L33 = Oa href="d9)8LOCK]>&g9;
in169ters not found\n"iti9t">)I944" clrs2378t >r2315748683TU876varam" claf23157>237i"L33>
1moval will2bn wrong,8=fncein169ters not found\n"iti9t">)I944" clrs23L9t >r23rs/edac/i7cor163new1nfie23rs/>237lanew>
158="L5 used ne  itect thatr16e macheldin169ters not found\n"iti9t">)I944" clrs238at >r23amci"L33)LOCK]>>
238lanew>
)I944" clrs2381t >r23RCV086a>  88eldaram" cla23RCV>238av"L3>
)I944" clrs2382t >r23631c#L3.gtf="+confoDESC"23631>2381615">
1leasing 16ea i3icesva169ters not found\n"iti9t">)I944" clrs2383t >r23)-&3d=" )Lf="+confoDESC"23)-&>2383(9> >
)I944" clrs2384t >r23controllcfpan class=>c I23con>238lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2385t >r23eeeeeeee*ef="+confoDESC"23eee>238lanew1"L33 = OCK =fine 9c5LOcutex_lo 1657"L8381  792386anewrs not found\n"iti9t">)I944" clrs2387t >r23INOTIFY_DONEK]>>
2387655c#L3.c#16OCK OCK =fine 9c6asvnlikelvers/edac/eeeeeevnlikelvvaraai3d="L8="L50" clprobedidmcrTABL[2],LOCrobed655c))tl_infreDMI_ENTRY_MEM_DEVICE"itint"2388t >r23arro8TABLA886varam" claf23arr>238lanew1"L33 = OCK =fin4rro86ABLA86K =cutex_vnlo 1657"L8381  79238lanew1"L33 =         ine 239lanew1"L33 = }aram" claine >
239lanewaram" claine 239lanew1"L33 = OCK =fine 9cILOlist_ine_each_s9Lrvers/edac/eeeeeelist_ine_each_s9LrvvaraaOCK =fine 9cILOK]>&g9" i3d="L*/
<86/spa8 i3utBL>n7">1657"L8381  79narro86ABLA86K =listidmcrTABL[2],LOlistccda)"L33 = OCK =fine 9/a>    2393(9> 103
3 = 0 ;L158="L5_fine 158="L5_finvaraaOCK =fine 9cILOK]>&g9" i3d="L*/
<86/spa8 i3utBL)bute__rnL0IIhrmem_ctl_infre__packed__af2394t >r23e 239lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2395t >r23 2395anew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs2396t >r23cA_o" crun26" ++new1nfie23cA_>23 lanew1"L33 = OCK =fine 9c6as86/spa86uewall8 i3icesd="L*/
<86/spa86uewall8 i3icesvaraa)bute__rnL0IIhrmem_ctl_infre__packed__af2397t >r23INOTIFY_DONEK]>>
239lanew1"L33 = OCK =fine 9)7LOCK]>&g9;aram" c2398t >r23<89 }
239)(9> 103
2399L[4]"L33 = OCK =fine 9/a>    240lanew1"L33 = OCK =fine 9evarfutex_vnlo 1657"L8381  79>
240av"L3}aram" claine 240BL[4]"L33 = OCK =fine 9/a>    2403(9> arro86ABLA86K =MODULE_DEVICE_TABLEidmcrTABL[2],LOMODULE_DEVICE_TABLEvaraaOCK =fine 9cILOpine narro86ABLA86K =86/spa8pci_tbld="L*/
<86/spa8pci_tbleccd)bute__rnL0IIhrmem_ctl_infre__packed__af2414t >r241 240lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2415t >r241240lanew>
)I944" clrs2416t >r241A_o" crun26" ++new1nfie241A_>2406(9> >
)I944" clrs2407t >r241NOTIFY_DONEK]>>
240BL[4]Oa href="d9)8LOCK]>&g9=
in169ters not found\n"iti9t">)I944" clrs2418t >r24189 }
240i"L33>
)I944" clrs2419t >r241c/i8cor1589ldaram" clan241c/>240lanew,LOCK =15" i3d="L86claadd0TA86ci_ d\n&qd="L*/
241lanew1"L33 = .162"+cdevar24   >241lanew1"L33 = ._infreDMI_ENTRY_MEM_DEVICE"itint"2412t >r24ILOC9 =fin91754="L5359RC24ILO>2412v"L33 = 0 ;L.1movevara = edaCK =fine 9evar_8 i3exi/_pe &g9"removee 1movevara)>_infreDMI_ENTRY_MEM_DEVICE"itint"2413t >r24ecicA_decr163" irivers/e24eci>2413v"L33 = 0 ;L.
<86/spa8pci_tbleccd>_infreDMI_ENTRY_MEM_DEVICE"itint"2414t >r24_     h&3d="rnL02foDESC"24_  >241lanew}bute__rnL0IIhrmem_ctl_infre__packed__af24I5t >r24mm9*elni91241lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms24I6t >r24ULOC9]>>91nfoDEew1nfie24ULO>2416(9> >
)I944" clrs24I7t >r24v_dmi_c#Lry =finrivers/e24v_d>241BL[4]Oa href="d9)8LOCK]>&g9=
3.c#16O6/spa8ini/
3 = 0 ;LModuld s9Lrv"functionin169ters not found\n"iti9t">)I944" clrs24I8t >r24=fine 241i"L33>
)I944" clrs24I9t >r24ine 241lanew>
)I944" clrs242at >r24ine 242a655c,LOCK =fine     242av"L3l_infreDMI_ENTRY_MEM_DEVICE"itint"2422t >r24_)LOC_handlem" cnew1nfie24_)L>242av"L33 = 0 ;Lfine 242lanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl24i4t >r242424v"L33 = 0 ;L=fine 242lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms24i6t >r24=fine 242lanew1"L33 = Oa href="d9)8LOCK]>&g9;
)I944" clrs2427t >r24242lanew1"L33 = OCK =fine 9c7LOop,LOCa8ini/edudimm_check_mop,LOCa8ini/varaa)bute__rnL0IIhrmem_ctl_infre__packed__af24i8t >r24vicn_locat="m" cnew1nfie24vic>242i"L33, tructfine 
242lanew1"L33 = OCK OCK =fine 9c6asvsa8pci_fixupe     243lanew1"L33 = 1"L33 = OCK =fine 9c6as86/spa8xeon8pci_fixupe 243lanewaram" claine 243lanew1"L33 = OCK =fine 9cILOrci_rcLy Con 21 ine 158="L5_ d\n&qd="L*/
158="L5_ d\n&qvaraa3">1657"L8381  79243lanew1"L33 = OCK =fine 9)3LOCK]>&g9;L91" cl2434t >r24erial_numbe"m" cnew1nfie24eri>2431655c#L3.c#16OCK OCK =fine 9c6asaci_rcLy Con 21 ine 243lanew1"L33 = 1"L33 = OCK =fine 9cILOmca8>158="L5_de9cIL_chainidmcrTABL[2],LOcca8>158="L5_de9cIL_chainvaraa3">1657"L8381  79
<86_cca8de9ccda)bute__rnL0IIhrmem_ctl_infre__packed__af2436t >r24spart_numbe"m" cnew1nfie24spa>2436anew1"L33 =         ine 243lanew1"L33 = }aram" claine 243i"L33, tructfine 
243lanew1"L33 = OCK =fine 8naa href="d9)8OCKingL>"Failed ne >158="L5  i3ice with error"3d=7;d.\n"in169te>_infreDMI_ENTRY_MEM_DEVICE"itint"244at >r24__packed__ion )fnew1nfie24__p>244lanew1"L33 = 1"L33 = L33 = OCK =fine 9cILOrci_rcLy Con 21 ine 244lanewaram" claine 244lanew1"L33 = ine 2443(9> }aram" claine 244lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2445t >r24n consid)fpan class=>c I24n c>244lanew>
)I944" clrs2446t >r24e invalid.="lin1604">16224e i>2446(9> >
)I944" clrs2447t >r2431c#L3.c*ef="+confoDESC"2431c>244BL[4]Oa href="d9)8LOCK]>&g9=
3.c#166666666666666666Un>158="L5 16ea d\n&qcc169ters not found\n"iti9t">)I944" clrs2448t >r24ad_dclk_freqion )foDESC"24ad_>244i"L33>
)I944" clrs2449t >r241649"L83894CK]>&rivers/e24164>244lanew,LOCK =voide     245245lanew1"L33 = OCK =fine 9c1LOe;it8dbgLy Con 21 ine 245lanew1"L33 = OCK =fine 9cILOrci_un>158="L5_ d\n&qd="L*/
158="L5_ d\n&qvaraa3">1657"L8381  792453(9> 103
158="L5_de9cIL_chainidmcrTABL[2],LOcca8un>158="L5_de9cIL_chainvaraa3">1657"L8381  79
<86_cca8de9ccda)bute__rnL0IIhrmem_ctl_infre__packed__af2454t >r24COR_ERRrefreturnnew1nfie24COR>245lanew}aram" claine 245lanew1"L33 = OCK =fine 9/5LOCK]>&g9cladimms2456t >r24MEM_DEVICEion )nrivers/e24MEM>2456anew&g9"ini/edudimm_check_m86/spa8ini/vara)bute__rnL0IIhrmem_ctl_infre__packed__af2457t >r24v_dmi_c#Lry =fin=ivers/e24v_d>2457655carro86ABLA86K =coduld8exi/edudimm_check_mcoduld8exi/varaaOCK =fine 9cILOK]>&g9"exi/edudimm_check_m86/spa8exi/vara)bute__rnL0IIhrmem_ctl_infre__packed__af2458t >r24K =fine 245i"L33, tructfine 
245lanewarro86ABLA86K =MODULE_LICENSEidmcrTABL[2],LOMODULE_LICENSEvaraaOa href="d9)8OCKingL>"GPL"in169teibute__rnL0IIhrmem_ctl_infre__packed__af246at >r24getei3d="Lf="+confoDESC"24get>246mL[4]arro86ABLA86K =MODULE_AUTHORidmcrTABL[2],LOMODULE_AUTHORvaraaOa href="d9)8OCKingL>"Mauro Carvalho Chehabl<mchehab@redhat.iveOCK "in169teibute__rnL0IIhrmem_ctl_infre__packed__af2461t >r243d="L,4andf="+confoDESC"243d=>246lanewarro86ABLA86K =MODULE_AUTHORidmcrTABL[2],LOMODULE_AUTHORvaraaOa href="d9)8OCKingL>"Red Hat Inc. (http://www.redhat.ive)"in169teibute__rnL0IIhrmem_ctl_infre__packed__af2462t >r24dled larefpan class=>c I24dle>24gav"L3arro86ABLA86K =MODULE_DESCRIPTIONidmcrTABL[2],LOMODULE_DESCRIPTIONvaraaOa href="d9)8OCKingL>"MC DNTRY_ ine Intel6O6 C__p memory c/i8TABl&qu - "in169teute__rnL0IIhrmem_ctl_infre__packed__af2463t >r24   h&3d=".="lin1604">16224   >2463(9> 103
3 = 0 ;La>
16224ar5>246lanew1"L33 = OCK =fine 9eILOCK]>&g9OR_ERRre2465t >r24lpossible.="lin1604">16224lpo>246lanew>rro86ABLA86K =coduld8paramd="L*/
nint, 044l)bute__rnL0IIhrmem_ctl_infre__packed__af2466t >r2431c#L3.c#ef="+confoDESC"2431c>2466anewnOa href="d9)8OCKingL>"EDAC Error"Reporting ,LOCa: 0=PABl,1=NMI"in169teibute__rnL0IIhrmem_ctl_infre__packed__af2467t >r24>, , >246BL[4]O/pre]O/div>


O/div>


T6e original LXR software by 16eate__rnL0Ihttp://sourceinege.net/projecls/lx5">LXR iveruni/yeccd>nthis experirs9Lal mem_ion by te__rnL0Imailto:lx5@ _iux.no">lx5@ _iux.noeccd.
O/div>

lx5. _iux.no kindly hosted by te__rnL0Ihttp://www.redpill- _ipro.no">Redpill L_ipro ASeccd>nprovider ofaL_iux c/isulting and operations ser3ices =fnce 1995.
O/div>