1. 12 5月, 2010 1 次提交
    • H
      x86: Add new static_cpu_has() function using alternatives · a3c8acd0
      H. Peter Anvin 提交于
      For CPU-feature-specific code that touches performance-critical paths,
      introduce a static patching version of [boot_]cpu_has().  This is run
      at alternatives time and is therefore not appropriate for most
      initialization code, but on the other hand initialization code is
      generally not performance critical.
      
      On gcc 4.5+ this uses the new "asm goto" feature.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      LKML-Reference: <1273135546-29690-2-git-send-email-avi@redhat.com>
      a3c8acd0
  2. 10 4月, 2010 1 次提交
  3. 14 2月, 2010 1 次提交
  4. 17 12月, 2009 1 次提交
  5. 19 10月, 2009 1 次提交
  6. 15 9月, 2009 1 次提交
    • P
      x86: Move APERF/MPERF into a X86_FEATURE · a8303aaf
      Peter Zijlstra 提交于
      Move the APERFMPERF capacility into a X86_FEATURE flag so that it
      can be used outside of the acpi cpufreq driver.
      
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Cc: Yanmin <yanmin_zhang@linux.intel.com>
      Cc: Dave Jones <davej@redhat.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      Cc: cpufreq@vger.kernel.org
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a8303aaf
  7. 04 9月, 2009 1 次提交
  8. 10 6月, 2009 1 次提交
  9. 09 6月, 2009 1 次提交
    • A
      x86: Detect use of extended APIC ID for AMD CPUs · 42937e81
      Andreas Herrmann 提交于
      Booting a 32-bit kernel on Magny-Cours results in the following panic:
      
        ...
        Using APIC driver default
        ...
        Overriding APIC driver with bigsmp
        ...
        Getting VERSION: 80050010
        Getting VERSION: 80050010
        Getting ID: 10000000
        Getting ID: ef000000
        Getting LVT0: 700
        Getting LVT1: 10000
        Kernel panic - not syncing: Boot APIC ID in local APIC unexpected (16 vs 0)
        Pid: 1, comm: swapper Not tainted 2.6.30-rcX #2
        Call Trace:
         [<c05194da>] ? panic+0x38/0xd3
         [<c0743102>] ? native_smp_prepare_cpus+0x259/0x31f
         [<c073b19d>] ? kernel_init+0x3e/0x141
         [<c073b15f>] ? kernel_init+0x0/0x141
         [<c020325f>] ? kernel_thread_helper+0x7/0x10
      
      The reason is that default_get_apic_id handled extension of local APIC
      ID field just in case of XAPIC.
      
      Thus for this AMD CPU, default_get_apic_id() returns 0 and
      bigsmp_get_apic_id() returns 16 which leads to the respective kernel
      panic.
      
      This patch introduces a Linux specific feature flag to indicate
      support for extended APIC id (8 bits instead of 4 bits width) and sets
      the flag on AMD CPUs if applicable.
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <20090608135509.GA12431@alberich.amd.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      42937e81
  10. 11 5月, 2009 1 次提交
    • Y
      x86: clean up and fix setup_clear/force_cpu_cap handling · 3e0c3737
      Yinghai Lu 提交于
      setup_force_cpu_cap() only have one user (Xen guest code),
      but it should not reuse cleared_cpu_cpus, otherwise it
      will have problems on SMP.
      
      Need to have a separate cpu_cpus_set array too, for forced-on
      flags, beyond the forced-off flags.
      
      Also need to setup handling before all cpus caps are combined.
      
      [ Impact: fix the forced-set CPU feature flag logic ]
      
      Cc: H. Peter Anvin <hpa@linux.intel.com>
      Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NYinghai Lu <yinghai.lu@kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3e0c3737
  11. 03 5月, 2009 1 次提交
  12. 08 4月, 2009 1 次提交
  13. 18 2月, 2009 1 次提交
  14. 09 2月, 2009 1 次提交
  15. 17 12月, 2008 1 次提交
  16. 23 11月, 2008 1 次提交
  17. 02 11月, 2008 1 次提交
  18. 01 11月, 2008 1 次提交
  19. 31 10月, 2008 1 次提交
  20. 23 10月, 2008 2 次提交
  21. 23 9月, 2008 1 次提交
  22. 10 9月, 2008 1 次提交
  23. 06 9月, 2008 1 次提交
  24. 28 8月, 2008 4 次提交
  25. 25 8月, 2008 1 次提交
  26. 23 8月, 2008 1 次提交
  27. 19 8月, 2008 1 次提交
  28. 31 7月, 2008 1 次提交
  29. 23 7月, 2008 1 次提交
    • V
      x86: consolidate header guards · 77ef50a5
      Vegard Nossum 提交于
      This patch is the result of an automatic script that consolidates the
      format of all the headers in include/asm-x86/.
      
      The format:
      
      1. No leading underscore. Names with leading underscores are reserved.
      2. Pathname components are separated by two underscores. So we can
         distinguish between mm_types.h and mm/types.h.
      3. Everything except letters and numbers are turned into single
         underscores.
      Signed-off-by: NVegard Nossum <vegard.nossum@gmail.com>
      77ef50a5
  30. 18 7月, 2008 1 次提交
    • M
      x86: APIC: remove apic_write_around(); use alternatives · 593f4a78
      Maciej W. Rozycki 提交于
      Use alternatives to select the workaround for the 11AP Pentium erratum
      for the affected steppings on the fly rather than build time.  Remove the
      X86_GOOD_APIC configuration option and replace all the calls to
      apic_write_around() with plain apic_write(), protecting accesses to the
      ESR as appropriate due to the 3AP Pentium erratum.  Remove
      apic_read_around() and all its invocations altogether as not needed.
      Remove apic_write_atomic() and all its implementing backends.  The use of
      ASM_OUTPUT2() is not strictly needed for input constraints, but I have
      used it for readability's sake.
      
      I had the feeling no one else was brave enough to do it, so I went ahead
      and here it is.  Verified by checking the generated assembly and tested
      with both a 32-bit and a 64-bit configuration, also with the 11AP
      "feature" forced on and verified with gdb on /proc/kcore to work as
      expected (as an 11AP machines are quite hard to get hands on these days).
      Some script complained about the use of "volatile", but apic_write() needs
      it for the same reason and is effectively a replacement for writel(), so I
      have disregarded it.
      
      I am not sure what the policy wrt defconfig files is, they are generated
      and there is risk of a conflict resulting from an unrelated change, so I
      have left changes to them out.  The option will get removed from them at
      the next run.
      
      Some testing with machines other than mine will be needed to avoid some
      stupid mistake, but despite its volume, the change is not really that
      intrusive, so I am fairly confident that because it works for me, it will
      everywhere.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      593f4a78
  31. 12 7月, 2008 1 次提交
  32. 11 7月, 2008 1 次提交
  33. 08 7月, 2008 1 次提交
  34. 24 6月, 2008 1 次提交
  35. 02 6月, 2008 1 次提交
  36. 25 5月, 2008 1 次提交