1. 19 8月, 2008 3 次提交
    • H
      x86: use X86_FEATURE_NOPL in alternatives · f1c5d30e
      H. Peter Anvin 提交于
      Use X86_FEATURE_NOPL to determine if it is safe to use P6 NOPs in
      alternatives.  Also, replace table and loop with simple if statement.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      f1c5d30e
    • H
      x86: add NOPL as a synthetic CPU feature bit · 7e00df58
      H. Peter Anvin 提交于
      The long noops ("NOPL") are supposed to be detected by family >= 6.
      Unfortunately, several non-Intel x86 implementations, both hardware
      and software, don't obey this dictum.  Instead, probe for NOPL
      directly by executing a NOPL instruction and see if we get #UD.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      7e00df58
    • H
      x86: boot: stub out unimplemented CPU feature words · e2fe16d9
      H. Peter Anvin 提交于
      The CPU feature detection code in the boot code is somewhat minimal,
      and doesn't include all possible CPUID words.  In particular, it
      doesn't contain the code for CPU feature words 2 (Transmeta),
      3 (Linux-specific), 5 (VIA), or 7 (scattered).  Zero them out, so we
      can still set those bits as known at compile time; in particular, this
      allows creating a Linux-specific NOPL flag and have it required (and
      therefore resolvable at compile time) in 64-bit mode.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      e2fe16d9
  2. 18 8月, 2008 3 次提交
    • T
      x86: configuration options to compile out x86 CPU support code · 8d02c211
      Thomas Petazzoni 提交于
      This patch adds some configuration options that allow to compile out
      CPU vendor-specific code in x86 kernels (in arch/x86/kernel/cpu). The
      new configuration options are only visible when CONFIG_EMBEDDED is
      selected, as they are mostly interesting for space savings reasons.
      
      An example of size saving, on x86 with only Intel CPU support:
      
         text	   data	    bss	    dec	    hex	filename
      1125479	 118760	 212992	1457231	 163c4f	vmlinux.old
      1121355	 116536	 212992	1450883	 162383	vmlinux
        -4124   -2224       0   -6348   -18CC +/-
      
      However, I'm not exactly sure that the Kconfig wording is correct with
      regard to !64BIT / 64BIT.
      
      [ mingo@elte.hu: convert macro to inline ]
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8d02c211
    • T
      x86: move cmpxchg fallbacks to a generic place · 774400a3
      Thomas Petazzoni 提交于
      arch/x86/kernel/cpu/intel.c defines a few fallback functions
      (cmpxchg_*()) that are used when the CPU doesn't support cmpxchg
      and/or cmpxchg64 natively. However, while defined in an Intel-specific
      file, these functions are also used for CPUs from other vendors when
      they don't support cmpxchg and/or cmpxchg64. This breaks the
      compilation when support for Intel CPUs is disabled.
      
      This patch moves these functions to a new
      arch/x86/kernel/cpu/cmpxchg.c file, unconditionally compiled when
      X86_32 is enabled.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: michael@free-electrons.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      774400a3
    • T
      x86: make movsl_mask definition non-CPU specific · 8bfcb396
      Thomas Petazzoni 提交于
      movsl_mask is currently defined in arch/x86/kernel/cpu/intel.c, which
      contains code specific to Intel CPUs. However, movsl_mask is used in
      the non-CPU specific code in arch/x86/lib/usercopy_32.c, which breaks
      the compilation when support for Intel CPUs is compiled out.
      
      This patch solves this problem by moving movsl_mask's definition close
      to its users in arch/x86/lib/usercopy_32.c.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: michael@free-electrons.com
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8bfcb396
  3. 15 8月, 2008 1 次提交
  4. 14 8月, 2008 33 次提交