1. 01 5月, 2005 6 次提交
    • V
      [PATCH] Increase number of e820 entries hard limit from 32 to 128 · f9ba7053
      Venkatesh Pallipadi 提交于
      The specifications that talk about E820 map doesn't have an upper limit on
      the number of e820 entries.  But, today's kernel has a hard limit of 32.
      With increase in memory size, we are seeing the number of E820 entries
      reaching close to 32.  Patch below bumps the number upto 128.
      
      The patch changes the location of EDDBUF in zero-page (as it comes after E820).
      As, EDDBUF is not used by boot loaders, this patch should not have any effect
      on bootloader-setup code interface.
      
      Patch covers both i386 and x86-64.
      
      Tested on:
      * grub booting bzImage
      * lilo booting bzImage with EDID info enabled
      * pxeboot of bzImage
      
      Side-effect:
      bss increases by ~ 2K and init.data increases by ~7.5K
      on all systems, due to increase in size of static arrays.
      Signed-off-by: NVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f9ba7053
    • J
      [PATCH] i386: fix hpet for systems that don't support legacy replacement · 35492df5
      john stultz 提交于
      Currently the i386 HPET code assumes the entire HPET implementation from
      the spec is present.  This breaks on boxes that do not implement the
      optional legacy timer replacement functionality portion of the spec.
      
      This patch, which is very similar to my x86-64 patch for the same issue,
      fixes the problem allowing i386 systems that cannot use the HPET for the
      timer interrupt and RTC to still use the HPET as a time source.  I've
      tested this patch on a system systems without HPET, with HPET but without
      legacy timer replacement, as well as HPET with legacy timer replacement.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      35492df5
    • H
      [PATCH] CPUID bug and inconsistency fix · 5b7abc6f
      H. Peter Anvin 提交于
      The recent support for K8 multicore was misported from x86-64 to i386, due
      to an unnecessary inconsistency between the CPUID code.  Sure, there is are
      no x86-64 VIA chips yet, but it should happen eventually.
      
      This patch fixes the i386 bug as well as makes x86-64 match i386 in the
      handing of the CPUID array.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5b7abc6f
    • J
      [PATCH] check nmi watchdog is broken · 67701ae9
      Jack F Vogel 提交于
      A bug against an xSeries system showed up recently noting that the
      check_nmi_watchdog() test was failing.
      
      I have been investigating it and discovered in both i386 and x86_64 the
      recent change to the routine to use the cpu_callin_map has uncovered a
      problem.  Prior to that change, on an SMP box, the test was trivally
      passing because all cpu's were found to not yet be online, but now with the
      callin_map they are discovered, it goes on to test the counter and they
      have not yet begun to increment, so it announces a CPU is stuck and bails
      out.
      
      On all the systems I have access to test, the announcement of failure is
      also bougs...  by the time you can login and check /proc/interrupts, the
      NMI count is happily incrementing on all CPUs.  Its just that the test is
      being done too early.
      
      I have tried moving the call to the test around a bit, and it was always
      too early.  I finally hit on this proposed solution, it delays the routine
      via a late_initcall(), seems like the right solution to me.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      67701ae9
    • H
      [PATCH] i386/x86_64 segment register access update · fd51f666
      H. J. Lu 提交于
      The new i386/x86_64 assemblers no longer accept instructions for moving
      between a segment register and a 32bit memory location, i.e.,
      
              movl (%eax),%ds
              movl %ds,(%eax)
      
      To generate instructions for moving between a segment register and a
      16bit memory location without the 16bit operand size prefix, 0x66,
      
              mov (%eax),%ds
              mov %ds,(%eax)
      
      should be used. It will work with both new and old assemblers. The
      assembler starting from 2.16.90.0.1 will also support
      
              movw (%eax),%ds
              movw %ds,(%eax)
      
      without the 0x66 prefix. I am enclosing patches for 2.4 and 2.6 kernels
      here. The resulting kernel binaries should be unchanged as before, with
      old and new assemblers, if gcc never generates memory access for
      
                     unsigned gsindex;
                     asm volatile("movl %%gs,%0" : "=g" (gsindex));
      
      If gcc does generate memory access for the code above, the upper bits
      in gsindex are undefined and the new assembler doesn't allow it.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fd51f666
    • D
      [PATCH] fix i386 memcpy · d5b63d78
      Denis Vlasenko 提交于
      This patch shortens non-constant memcpy() by two bytes and fixes spurious
      out-of-line constant memcpy().
      
      # size vmlinux.org vmlinux
         text    data     bss     dec     hex filename
      3954591 1553426  236544 5744561  57a7b1 vmlinux.org
      3952615 1553426  236544 5742585  579ff9 vmlinux
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d5b63d78
  2. 20 4月, 2005 1 次提交
  3. 17 4月, 2005 3 次提交