1. 26 5月, 2009 1 次提交
    • T
      x86, relocs: ignore R_386_NONE in kernel relocation entries · 46176b4f
      Tejun Heo 提交于
      For relocatable 32bit kernels, boot/compressed/relocs.c processes
      relocation entries in the kernel image and appends it to the kernel
      image such that boot/compressed/head_32.S can relocate the kernel.
      The kernel image is one statically linked object and only uses two
      relocation types - R_386_PC32 and R_386_32, of the two only the latter
      needs massaging during kernel relocation and thus handled by relocs.
      R_386_PC32 is ignored and all other relocation types are considered
      error.
      
      When the target of a relocation resides in a discarded section,
      binutils doesn't throw away the relocation record but nullifies it by
      changing it to R_386_NONE, which unfortunately makes relocs fail.
      
      The problem was triggered by yet out-of-tree x86 stack unwind patches
      but given the binutils behavior, ignoring R_386_NONE is the right
      thing to do.
      
      The problem has been tracked down to binutils behavior by Jan Beulich.
      
      [ Impact: fix build with certain binutils by ignoring R_386_NONE ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Jan Beulich <JBeulich@novell.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      LKML-Reference: <4A1B8150.40702@kernel.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      46176b4f
  2. 23 5月, 2009 1 次提交
    • H
      x86, setup: revert ACPI 3 E820 extended attributes support · bca23dba
      H. Peter Anvin 提交于
      Remove ACPI 3 E820 extended memory attributes support.  At least one
      vendor actively set all the flags to zero, but left ECX on return at
      24.  This bug may be present in other BIOSes.
      
      The breakage functionally means the ACPI 3 flags are probably
      completely useless, and that no OS any time soon is going to rely on
      their existence.  Therefore, drop support completely.  We may want to
      revisit this question in the future, if we find ourselves actually
      needing the flags.
      
      This reverts all or part of the following checkins:
      
           cd670599
           c549e71d
      
      However, retain the part from the latter commit that copies e820 into
      a temporary buffer; that is an unrelated BIOS workaround.  Put in a
      comment to explain that part.
      
      See https://bugzilla.redhat.com/show_bug.cgi?id=499396 for some
      additional information.
      
      [ Impact: detect all memory on affected machines ]
      Reported-by: NThomas J. Baker <tjb@unh.edu>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Acked-by: NLen Brown <len.brown@intel.com>
      Cc: Chuck Ebbert <cebbert@redhat.com>
      Cc: Kyle McMartin <kmcmartin@redhat.com>
      Cc: Matt Domsch <matt_domsch@dell.com>
      bca23dba
  3. 08 4月, 2009 1 次提交
    • H
      x86, setup: un-resequence mode setting for VGA 80x34 and 80x60 modes · 1e274a58
      H. Peter Anvin 提交于
      Impact: Fixes these modes on at least one system
      
      The rewrite of the setup code into C resequenced the font setting and
      register reprogramming phases of configuring nonstandard VGA modes
      which use 480 scan lines in text mode.  However, there exists at least
      one board (Micro-Star MS-7383 version 2.0) on which this resequencing
      causes an unusable display.
      
      Revert to the original sequencing: set up 480-line mode, install the
      font, and then adjust the vertical end register appropriately.
      
      This failure was masked by the fact that the 480-line setup was broken
      until checkin 5f641356 (therefore this
      is not a -stable candidate bug fix.)
      Reported-by: NAndi Kleen <andi@firstfloor.org>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      1e274a58
  4. 03 4月, 2009 1 次提交
  5. 02 4月, 2009 1 次提交
  6. 29 3月, 2009 3 次提交
  7. 19 3月, 2009 1 次提交
  8. 18 3月, 2009 1 次提交
  9. 13 3月, 2009 2 次提交
  10. 12 3月, 2009 1 次提交
    • H
      x86: remove zImage support · 5e47c478
      H. Peter Anvin 提交于
      Impact: obsolete feature removal
      
      The zImage kernel format has been functionally unused for a very long
      time.  It is just barely possible to build a modern kernel that still
      fits within the zImage size limit, but it is highly unlikely that
      anyone ever uses it.  Furthermore, although it is still supported by
      most bootloaders, it has been at best poorly tested (or not tested at
      all); some bootloaders are even known to not support zImage at all and
      not having even noticed.
      
      Also remove some really obsolete constants that no longer have any
      meaning.
      
      LKML-Reference: <49B703D4.1000008@zytor.com>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      5e47c478
  11. 23 2月, 2009 1 次提交
    • I
      x86: remove the Voyager 32-bit subarch · 965c7eca
      Ingo Molnar 提交于
      Impact: remove unused/broken code
      
      The Voyager subarch last built successfully on the v2.6.26 kernel
      and has been stale since then and does not build on the v2.6.27,
      v2.6.28 and v2.6.29-rc5 kernels.
      
      No actual users beyond the maintainer reported this breakage.
      Patches were sent and most of the fixes were accepted but the
      discussion around how to do a few remaining issues cleanly
      fizzled out with no resolution and the code remained broken.
      
      In the v2.6.30 x86 tree development cycle 32-bit subarch support
      has been reworked and removed - and the Voyager code, beyond the
      build problems already known, needs serious and significant
      changes and probably a rewrite to support it.
      
      CONFIG_X86_VOYAGER has been marked BROKEN then. The maintainer has
      been notified but no patches have been sent so far to fix it.
      
      While all other subarchs have been converted to the new scheme,
      voyager is still broken. We'd prefer to receive patches which
      clean up the current situation in a constructive way, but even in
      case of removal there is no obstacle to add that support back
      after the issues have been sorted out in a mutually acceptable
      fashion.
      
      So remove this inactive code for now.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      965c7eca
  12. 20 2月, 2009 4 次提交
  13. 14 2月, 2009 1 次提交
  14. 03 2月, 2009 1 次提交
    • H
      x86 setup: a20: early timeout for a nonexistent keyboard controller · 3bd323a1
      H. Peter Anvin 提交于
      When probing the keyboard controller to enable A20, if we get FF back
      (which is *possible* as a valid status word, but is extremely
      unlikely) then bail after much fewer iterations than we otherwise
      would, and abort the attempt to access the KBC.
      
      This hopefully should make it work a lot better for embedded platforms
      which don't have a KBC and where the BIOS doesn't implement
      INT 15h AX=2401h (and doesn't boot with A20 already enabled.)
      
      If this works, it will be the one remaining use of CONFIG_X86_ELAN as
      anything other than a processor type optimization option.
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      3bd323a1
  15. 31 1月, 2009 1 次提交
  16. 28 1月, 2009 1 次提交
  17. 05 1月, 2009 1 次提交
    • A
      bzip2/lzma: x86 kernel compression support · ae03c499
      Alain Knaff 提交于
      Impact: Replaces x86 kernel decompressor with new code
      
      This is the third part of the bzip2/lzma patch
      
      The bzip patch is based on an idea by Christian Ludwig, includes support for
      compressing the kernel with bzip2 or lzma rather than gzip. Both
      compressors give smaller sizes than gzip.  Lzma's decompresses faster
      than bzip2.
      
      It also supports ramdisks and initramfs' compressed using these two
      compressors.
      
      The functionality has been successfully used for a couple of years by
      the udpcast project
      
      This version applies to "tip" kernel 2.6.28
      
      This part contains:
      - support for new bzip2 and lzma kernel compression for x86
      Signed-off-by: NAlain Knaff <alain@knaff.lu>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      ae03c499
  18. 25 11月, 2008 1 次提交
  19. 24 11月, 2008 1 次提交
  20. 31 10月, 2008 1 次提交
  21. 23 10月, 2008 1 次提交
  22. 22 10月, 2008 1 次提交
  23. 17 10月, 2008 1 次提交
  24. 06 10月, 2008 1 次提交
  25. 05 10月, 2008 1 次提交
  26. 04 10月, 2008 3 次提交
  27. 17 9月, 2008 2 次提交
  28. 06 9月, 2008 3 次提交
    • A
      x86: fix ghost EDD devices in /sys again · 464f04c9
      Andrey Borzenkov 提交于
      > This is regression but old enough. Apparently I had for whatever reasons
      > EDD turned off till recently. This is 2.6.27-rc5 just in case.
      >
      > In 2006 I fixed ghost devices due to buggy BIOS:
      >
      > http://marc.info/?l=linux-kernel&m=114087765422490&w=2
      >
      > Later edd.S has been rewritten in C, and apparently this patch has been
      > lost:
      >
      > {pts/1}% ls /sys/firmware/edd
      > int13_dev80/  int13_dev84/  int13_dev88/  int13_dev8c/
      > int13_dev81/  int13_dev85/  int13_dev89/  int13_dev8d/
      > int13_dev82/  int13_dev86/  int13_dev8a/  int13_dev8e/
      > int13_dev83/  int13_dev87/  int13_dev8b/  int13_dev8f/
      >
      > But I have just a single disk. This is the same system BTW.
      
      Some BIOSes do not always set CF on error before return from int13.
      The patch adds additional check for status being zero (AH == 0).
      
      This was fixed for edd.S in
      http://marc.info/?l=linux-kernel&m=114087765422490&w=2, but lost
      again when edd.S was rewritten in C.
      Signed-off-by: NAndrey Borzenkov <arvidjaar@mail.ru>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      464f04c9
    • H
      x86: when building image.iso, use isohybrid if it exists · d2f37384
      H. Peter Anvin 提交于
      When building image.iso (make isoimage), use the isohybrid tool if it
      exists.  isohybrid is a script included with Syslinux 3.72 and higher,
      which creates an image that can be booted either as a hard disk
      (including removable, e.g. USB disk) or as a CD-ROM.
      
      If isohybrid doesn't exist, then this has no effect.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      d2f37384
    • H
      x86: boot: stub out unimplemented CPU feature words · b74b06c5
      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>
      b74b06c5
  29. 04 9月, 2008 1 次提交
    • H
      x86: boot/compressed/Makefile: fix "make clean" · 7f16a339
      H. Peter Anvin 提交于
      The Kbuild variable "targets" is supposed to be
      configuration-independent and reflect "all possible targets".  This is
      required to make "make clean" work properly.
      
      Therefore, move all manipulation of "targets" as well as custom rules
      out of the x86-32 ifdef statement.  Only leave inside the ifdefs the
      things that are genuinely configuration-dependent.
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      7f16a339