1. 02 Oct, 2009 3 commits
    • Borislav Petkov's avatar
      x86: EDAC: carve out AMD MCE decoding logic · 0d18b2e3
      Borislav Petkov authored
      This converts the MCE decoding logic into a standalone config
      option which can be built-in or a module, the first one being the
      default for MCEs happening early on in the boot process.
      
      This, beyond being separated in a cleaner way, also saves RAM by
      making the decoding logic modular.
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      LKML-Reference: <20091002133148.GD28682@aftab>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      0d18b2e3
    • Borislav Petkov's avatar
      initcalls: Add early_initcall() for modules · 329bd411
      Borislav Petkov authored
      Complete the early_initcall() API by making it available in modules
      too. To be used by the EDAC/MCE code.
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      LKML-Reference: <20091002132321.GC28682@aftab>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      329bd411
    • Ingo Molnar's avatar
      x86: EDAC: MCE: Fix MCE decoding callback logic · f436f8bb
      Ingo Molnar authored
      Make decoding of MCEs happen only on AMD hardware by registering a
      non-default callback only on CPU families which support it.
      
      While looking at the interaction of decode_mce() with the other MCE
      code i also noticed a few other things and made the following
      cleanups/fixes:
      
       - Fixed the mce_decode() weak alias - a weak alias is really not
         good here, it should be a proper callback. A weak alias will be
         overriden if a piece of code is built into the kernel - not
         good, obviously.
      
       - The patch initializes the callback on AMD family 10h and 11h.
      
       - Added the more correct fallback printk of:
      
      	No support for human readable MCE decoding on this CPU type.
      	Transcribe the message and run it through 'mcelog --ascii' to decode.
      
         On CPUs that dont have a decoder.
      
       - Made the surrounding code more readable.
      
      Note that the callback allows us to have a default fallback -
      without having to check the CPU versions during the printout
      itself. When an EDAC module registers itself, it can install the
      decode-print function.
      
      (there's no unregister needed as this is core code.)
      
      version -v2 by Borislav Petkov:
      
       - add K8 to the set of supported CPUs
      
       - always build in edac_mce_amd since we use an early_initcall now
      
       - fix checkpatch warnings
      Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      LKML-Reference: <20091001141432.GA11410@aftab>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f436f8bb
  2. 01 Oct, 2009 6 commits
  3. 30 Sep, 2009 31 commits