1. 26 Sep, 2006 2 commits
    • Andi Kleen's avatar
      [PATCH] Convert x86-64 to early param · 2c8c0e6b
      Andi Kleen authored
      Instead of hackish manual parsing
      Requires earlier i386 patchkit, but also fixes i386 early_printk again.
      I removed some obsolete really early parameters which didn't do anything useful.
      Also made a few parameters that needed it early (mostly oops printing setup)
      Also removed one panic check that wasn't visible without
      early console anyways (the early console is now initialized after that
      This cleans up a lot of code.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    • Jan Beulich's avatar
      [PATCH] initialize end of memory variables as early as possible · caff0710
      Jan Beulich authored
      While an earlier patch already did a small step into that direction,
      this patch moves initialization of all memory end variables to as
      early as possible, so that dependent code doesn't need to check
      whether these variables have already been set.
      Also, remove a misleading (perhaps just outdated) comment, and make
      static a variable only used in a single file.
      Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
  2. 19 Sep, 2006 1 commit
    • Linus Torvalds's avatar
      Revert mmiocfg heuristics and blacklist changes · 79e453d4
      Linus Torvalds authored
      This reverts commits 11012d41 and
      , which allowed us to use the
      MMIO accesses for PCI config cycles even without the area being marked
      reserved in the e820 memory tables.
      Those changes were needed for EFI-environment Intel macs, but broke some
      newer Intel 965 boards, so for now it's better to revert to our old
      2.6.17 behaviour and at least avoid introducing any new breakage.
      Andi Kleen has a set of patches that work with both EFI and the broken
      Intel 965 boards, which will be applied once they get wider testing.
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Edgar Hucek <hostmaster@ed-soft.at>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  3. 30 Aug, 2006 2 commits
    • Andi Kleen's avatar
      [PATCH] x86_64: Recover 1MB of kernel memory · ceee8822
      Andi Kleen authored
      Noticed by Jan Beulich.
      When the kernel was moved from 1MB to 2MB in 2.6.17 the kernel reservation
      code wasn't adjusted and it still reserved starting with 1MB. This means 1MB always
      were lost.
      This patch fixes this by reserving only starting with _text.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    • Andi Kleen's avatar
      [PATCH] x86: Revert e820 MCFG heuristics · 11012d41
      Andi Kleen authored
      The check for the MCFG table being reserved in the e820 map was originally
      added to detect a broken BIOS in a preproduction Intel SDV. However it also
      breaks the Apple x86 Macs, which can't supply this properly, but need
      a working MCFG. With this patch they wouldn't use the MCFG and not work.
      After some discussion I think it's best to remove the heuristic again.
      It also failed on some other boxes (although it didn't cause much
      problems there because old style port access for PCI config space
      still works as fallback), but the preproduction SDVs can just use
      pci=nommcfg. Supporting production machines properly is more
      Edgar Hucek did all the debugging work.
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: Edgar Hucek <hostmaster@ed-soft.at>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  4. 10 Jul, 2006 1 commit
  5. 30 Jun, 2006 1 commit
  6. 26 Jun, 2006 2 commits
  7. 31 May, 2006 1 commit
    • Robert Hentosh's avatar
      [PATCH] x86_64: Fix off by one in bad_addr checking in find_e820_area · 7ca97c61
      Robert Hentosh authored
      From: Robert Hentosh <robert_hentosh@dell.com>
      Actually, we just stumbled on a different bug found in find_e820_area() in
      e820.c.  The following code does not handle the edge condition correctly:
         while (bad_addr(&addr, size) && addr+size < ei->addr + ei->size)
         last = addr + size;
         if ( last > ei->addr + ei->size )
      The second statement in the while loop needs to be a <= b so that it is the
      logical negavite of the if (a > b) outside it. It needs to read:
         while (bad_addr(&addr, size) && addr+size <= ei->addr + ei->size)
      In the case that failed bad_addr was returning an address that is exactly size
      bellow the end of the e820 range.
      AK: Again together with the earlier avoid edma fix this fixes
      boot on a Dell PE6850/16GB
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  8. 08 May, 2006 1 commit
    • Andi Kleen's avatar
      [PATCH] x86_64: Avoid EBDA area in early boot allocator · ac71d12c
      Andi Kleen authored
      Based on analysis&patch from Robert Hentosch
      Observed on a Dell PE6850 with 16GB
      The problem occurs very early on, when the kernel allocates space for the
      temporary memory map called bootmap. The bootmap overlaps the EBDA region.
      EBDA region is not historically reserved in the e820 mapping. When the
      bootmap is freed it marks the EBDA region as usable.
      If you notice in setup.c there is already code to work around the EBDA
      in reserve_ebda_region(), this check however occurs after the bootmap
      is allocated and doesn't prevent the bootmap from using this range.
      AK: I redid the original patch. Thanks also to Jan Beulich for
      spotting some mistakes.
      Cc: Robert_Hentosch@dell.com
      Cc: jbeulich@novell.com
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  9. 09 Apr, 2006 3 commits
  10. 10 Jan, 2006 1 commit
  11. 15 Nov, 2005 1 commit
  12. 17 Sep, 2005 1 commit
  13. 13 Sep, 2005 1 commit
  14. 12 Sep, 2005 1 commit
  15. 09 Sep, 2005 1 commit
    • Daniel Ritz's avatar
      [PATCH] Update PCI IOMEM allocation start · f0eca962
      Daniel Ritz authored
      This fixes the problem with "Averatec 6240 pcmcia_socket0: unable to
      apply power", which was due to the CardBus IOMEM register region being
      allocated at an address that was actually inside the RAM window that had
      been reserved for video frame-buffers in an UMA setup.
      The BIOS _should_ have marked that region reserved in the e820 memory
      descriptor tables, but did not.
      It is fixed by rounding up the default starting address of PCI memory
      allocations, so that we leave a bigger gap after the final known memory
      location.  The amount of rounding depends on how big the unused memory
      gap is that we can allocate IOMEM from.
      Based on example code by Linus.
      Acked-by: default avatarGreg KH <greg@kroah.com>
      Acked-by: default avatarIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  16. 07 Sep, 2005 1 commit
  17. 27 Aug, 2005 1 commit
    • Andi Kleen's avatar
      [PATCH] x86_64: Tell VM about holes in nodes · 485761bd
      Andi Kleen authored
      Some nodes can have large holes on x86-64.
      This fixes problems with the VM allowing too many dirty pages because it
      overestimates the number of available RAM in a node.  In extreme cases you
      can end up with all RAM filled with dirty pages which can lead to deadlocks
      and other nasty behaviour.
      This patch just tells the VM about the known holes from e820.  Reserved
      (like the kernel text or mem_map) is still not taken into account, but that
      should be only a few percent error now.
      Small detail is that the flat setup uses the NUMA free_area_init_node() now
      too because it offers more flexibility.
      (akpm: lotsa thanks to Martin for working this problem out)
      Cc: Martin Bligh <mbligh@mbligh.org>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  18. 25 Jun, 2005 2 commits
  19. 01 May, 2005 1 commit
  20. 16 Apr, 2005 2 commits
    • Andi Kleen's avatar
      [PATCH] x86_64: Port over e820 gap detection from i386 · a1e97782
      Andi Kleen authored
      Look for gaps in the e820 memory map to put PCI resources in.
      This hopefully fixes problems with the PCI code assigning 32bit BARs MMIO
      resources which are >32bit.
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      Let it rip!