1. 10 Sep, 2008 1 commit
  2. 08 Sep, 2008 2 commits
    • Linus Torvalds's avatar
      x86: disable static NOPLs on 32 bits · 14469a8d
      Linus Torvalds authored
      On 32-bit, at least the generic nops are fairly reasonable, but the
      default nops for 64-bit really look pretty sad, and the P6 nops really do
      look better.
      
      So I would suggest perhaps moving the static P6 nop selection into the
      CONFIG_X86_64 thing.
      
      The alternative is to just get rid of that static nop selection, and just
      have two cases: 32-bit and 64-bit, and just pick obviously safe cases for
      them.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      14469a8d
    • Yinghai Lu's avatar
      x86: make 64 bit to use amd.c · ff73152c
      Yinghai Lu authored
      arch/x86/kernel/cpu/amd.c is now 100% identical to
      arch/x86/kernel/cpu/amd_64.c, so use amd.c on 64-bit too
      and fix up the namespace impact.
      
      Simplify the Kconfig glue as well.
      Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ff73152c
  3. 18 Aug, 2008 1 commit
    • Thomas Petazzoni's avatar
      x86: configuration options to compile out x86 CPU support code · 8d02c211
      Thomas Petazzoni authored
      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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      8d02c211
  4. 22 Jul, 2008 1 commit
  5. 18 Jul, 2008 1 commit
    • Maciej W. Rozycki's avatar
      x86: APIC: remove apic_write_around(); use alternatives · 593f4a78
      Maciej W. Rozycki authored
      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: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      593f4a78
  6. 09 Jul, 2008 1 commit
  7. 12 May, 2008 2 commits
  8. 30 Apr, 2008 1 commit
  9. 26 Apr, 2008 3 commits
    • Alexander van Heukelum's avatar
      x86, bitops: select the generic bitmap search functions · 19870def
      Alexander van Heukelum authored
      Introduce GENERIC_FIND_FIRST_BIT and GENERIC_FIND_NEXT_BIT in
      lib/Kconfig, defaulting to off. An arch that wants to use the
      generic implementation now only has to use a select statement
      to include them.
      
      I added an always-y option (X86_CPU) to arch/x86/Kconfig.cpu
      and used that to select the generic search functions. This
      way ARCH=um SUBARCH=i386 automatically picks up the change
      too, and arch/um/Kconfig.i386 can therefore be simplified a
      bit. ARCH=um SUBARCH=x86_64 does things differently, but
      still compiles fine. It seems that a "def_bool y" always
      wins over a "def_bool n"?
      Signed-off-by: default avatarAlexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      19870def
    • Alexander van Heukelum's avatar
      x86: merge the simple bitops and move them to bitops.h · 12d9c842
      Alexander van Heukelum authored
      Some of those can be written in such a way that the same
      inline assembly can be used to generate both 32 bit and
      64 bit code.
      
      For ffs and fls, x86_64 unconditionally used the cmov
      instruction and i386 unconditionally used a conditional
      branch over a mov instruction. In the current patch I
      chose to select the version based on the availability
      of the cmov instruction instead. A small detail here is
      that x86_64 did not previously set CONFIG_X86_CMOV=y.
      
      Improved comments for ffs, ffz, fls and variations.
      Signed-off-by: default avatarAlexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      12d9c842
    • Dmitri Vorobiev's avatar
      x86: remove NexGen support · f7f17a67
      Dmitri Vorobiev authored
      It is claimed that NexGen CPUs were never shipped:
      
         http://lkml.org/lkml/2008/4/20/179
      
      Also, the kernel support for these chips has been broken for
      a long time, the code intended to support NexGen thereby being
      essentially dead.
      
      As an outcome of the discussion that can be found using the URL
      above, this patch removes the NexGen support altogether.
      
      The changes in this patch survived a defconfig build for i386, a
      couple of successful randconfig builds, as well as a runtime test,
      which consisted in booting a 32-bit x86 box up to the shell prompt.
      Signed-off-by: default avatarDmitri Vorobiev <dmitri.vorobiev@gmail.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      f7f17a67
  10. 17 Apr, 2008 1 commit
  11. 04 Mar, 2008 1 commit
  12. 26 Feb, 2008 2 commits
  13. 30 Jan, 2008 3 commits
  14. 12 Nov, 2007 1 commit
    • Sam Ravnborg's avatar
      x86: arch/x86/Kconfig.cpu unification · 1032c0ba
      Sam Ravnborg authored
      Move all CPU definitions to Kconfig.cpu
      Always define X86_MINIMUM_CPU_FAMILY and do the
      obvious code cleanup in boot/cpucheck.c
      
      Comments from: Adrian Bunk <bunk@kernel.org> incorporated.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Adrian Bunk <bunk@kernel.org>
      Cc: Brian Gerst <bgerst@didntduck.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      1032c0ba
  15. 25 Oct, 2007 1 commit
  16. 17 Oct, 2007 1 commit
  17. 19 Jul, 2007 1 commit
    • Avi Kivity's avatar
      i386: Allow KVM on i386 nonpae · 2d9ce177
      Avi Kivity authored
      Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of
      the cmpxchg64b feature and enables compilation of the set_64bit() family.
      Since the option is dependent on PAE, and since KVM depends on set_64bit(),
      this effectively disables KVM on i386 nopae.
      
      Simplify by removing the config option altogether: the boot check is made
      dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed
      without constraints.  It is up to users to check for the feature flag (KVM
      does not as virtualiation extensions imply its existence).
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2d9ce177
  18. 12 Jul, 2007 1 commit
  19. 23 Jun, 2007 1 commit
  20. 09 May, 2007 1 commit
  21. 02 May, 2007 2 commits
  22. 13 Feb, 2007 1 commit
  23. 08 Dec, 2006 1 commit
    • David Howells's avatar
      [PATCH] LOG2: Implement a general integer log2 facility in the kernel · f0d1b0b3
      David Howells authored
      This facility provides three entry points:
      
      	ilog2()		Log base 2 of unsigned long
      	ilog2_u32()	Log base 2 of u32
      	ilog2_u64()	Log base 2 of u64
      
      These facilities can either be used inside functions on dynamic data:
      
      	int do_something(long q)
      	{
      		...;
      		y = ilog2(x)
      		...;
      	}
      
      Or can be used to statically initialise global variables with constant values:
      
      	unsigned n = ilog2(27);
      
      When performing static initialisation, the compiler will report "error:
      initializer element is not constant" if asked to take a log of zero or of
      something not reducible to a constant.  They treat negative numbers as
      unsigned.
      
      When not dealing with a constant, they fall back to using fls() which permits
      them to use arch-specific log calculation instructions - such as BSR on
      x86/x86_64 or SCAN on FRV - if available.
      
      [akpm@osdl.org: MMC fix]
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Wojtek Kaniewski <wojtekka@toxygen.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f0d1b0b3
  24. 07 Dec, 2006 1 commit
  25. 11 Oct, 2006 1 commit
  26. 26 Jun, 2006 1 commit
  27. 11 Apr, 2006 1 commit
  28. 06 Jan, 2006 1 commit
  29. 31 Oct, 2005 1 commit