1. 09 Dec, 2009 1 commit
  2. 17 Nov, 2009 1 commit
  3. 10 Nov, 2009 5 commits
  4. 07 Jun, 2009 1 commit
  5. 12 May, 2009 1 commit
    • Dmitry Adamushko's avatar
      x86: microcode: use smp_call_function_single instead of set_cpus_allowed,... · 871b72dd
      Dmitry Adamushko authored
      x86: microcode: use smp_call_function_single instead of set_cpus_allowed, cleanup of synchronization logic
      
      * Solve issues described in 6f66cbc6
        in a way that doesn't resort to set_cpus_allowed();
      
      * in fact, only collect_cpu_info and apply_microcode callbacks
        must run on a target cpu, others will do just fine on any other.
        smp_call_function_single() (as suggested by Ingo) is used to run
        these callbacks on a target cpu.
      
      * cleanup of synchronization logic of the 'microcode_core' part
      
        The generic 'microcode_core' part guarantees that only a single cpu
        (be it a full-fledged cpu, one of the cores or HT)
        is being updated at any particular moment of time.
      
        In general, there is no need for any additional sync. mechanism in
        arch-specific parts (the patch removes existing spinlocks).
      
        See also the "Synchronization" section in microcode_core.c.
      
      * return -EINVAL instead of -1 (which is translated into -EPERM) in
        microcode_write(), reload_cpu() and mc_sysdev_add(). Other suggestions
        for an error code?
      
      * use 'enum ucode_state' as return value of request_microcode_{fw, user}
        to gain more flexibility by distinguishing between real error cases
        and situations when an appropriate ucode was not found (which is not an
        error per-se).
      
      * some minor cleanups
      
      Thanks a lot to Hugh Dickins for review/suggestions/testing!
      
         Reference: http://marc.info/?l=linux-kernel&m=124025889012541&w=2
      
      
      
      [ Impact: refactor and clean up microcode driver locking code ]
      Signed-off-by: default avatarDmitry Adamushko <dmitry.adamushko@gmail.com>
      Acked-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
      Cc: Peter Oruba <peter.oruba@amd.com>
      Cc: Arjan van de Ven <arjan@infradead.org>
      LKML-Reference: <1242078507.5560.9.camel@earth>
      [ did some more cleanups ]
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
       arch/x86/include/asm/microcode.h  |   25 ++
       arch/x86/kernel/microcode_amd.c   |   58 ++----
       arch/x86/kernel/microcode_core.c  |  326 +++++++++++++++++++++-----------------
       arch/x86/kernel/microcode_intel.c |   92 +++-------
       4 files changed, 261 insertions(+), 240 deletions(-)
      
      (~20 new comment lines)
      871b72dd
  6. 18 Mar, 2009 1 commit
    • Ingo Molnar's avatar
      x86: microcode: cleanup · 4bae1967
      Ingo Molnar authored
      
      
      Impact: cleanup
      
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dmitry Adamushko <dmitry.adamushko@gmail.com>
      Cc: Peter Oruba <peter.oruba@amd.com>
      LKML-Reference: <200903111632.37279.rusty@rustcorp.com.au>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4bae1967
  7. 19 Dec, 2008 1 commit
    • Ingo Molnar's avatar
      x86: fix warning in arch/x86/kernel/microcode_amd.c · f34a10bd
      Ingo Molnar authored
      
      
      this warning:
      
        arch/x86/kernel/microcode_amd.c: In function ‘apply_microcode_amd’:
        arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size
        arch/x86/kernel/microcode_amd.c:163: warning: cast from pointer to integer of different size
      
      triggers because we want to pass the address to the microcode MSR,
      which is 64-bit even on 32-bit. Cast it explicitly to express this.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f34a10bd
  8. 16 Dec, 2008 10 commits
  9. 28 Oct, 2008 1 commit
  10. 24 Sep, 2008 1 commit
  11. 23 Sep, 2008 3 commits
  12. 14 Sep, 2008 1 commit
  13. 12 Sep, 2008 1 commit
    • Dmitry Adamushko's avatar
      x86, microcode rework, v2 · a0a29b62
      Dmitry Adamushko authored
      
      
      this is a rework of the microcode splitup in tip/x86/microcode
      
      (1) I think this new interface is cleaner (look at the changes
          in 'struct microcode_ops' in microcode.h);
      
      (2) it's -64 lines of code;
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a0a29b62
  14. 22 Aug, 2008 1 commit
  15. 20 Aug, 2008 2 commits
  16. 31 Jul, 2008 3 commits
  17. 29 Jul, 2008 1 commit
  18. 28 Jul, 2008 1 commit
    • Peter Oruba's avatar
      x86: AMD microcode patch loading support · 80cc9f10
      Peter Oruba authored
      
      
      This patch introduces microcode patch loading for AMD
      processors. It is based on previous corresponding work
      for Intel processors.
      
      It hooks into the general patch loading module. Main
      difference is that a container file format is used to hold
      all patch data for multiple processors as well as an
      equivalent CPU table, which comes seperately, as opposed
      to Intel's microcode patching solution.
      
      Kconfig and Makefile have been changed provice config
      and build option for new source file.
      Signed-off-by: default avatarPeter Oruba <peter.oruba@amd.com>
      Cc: Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      80cc9f10