1. 26 9月, 2006 1 次提交
  2. 19 9月, 2006 1 次提交
    • L
      Revert mmiocfg heuristics and blacklist changes · 79e453d4
      Linus Torvalds 提交于
      This reverts commits 11012d41 and
      40dd2d20, 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: NLinus Torvalds <torvalds@osdl.org>
      79e453d4
  3. 31 8月, 2006 2 次提交
    • A
      [PATCH] x86_64: Recover 1MB of kernel memory · ceee8822
      Andi Kleen 提交于
      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: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ceee8822
    • A
      [PATCH] x86: Revert e820 MCFG heuristics · 11012d41
      Andi Kleen 提交于
      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
      important.
      
      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: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      11012d41
  4. 11 7月, 2006 1 次提交
  5. 01 7月, 2006 1 次提交
  6. 27 6月, 2006 2 次提交
  7. 31 5月, 2006 1 次提交
    • R
      [PATCH] x86_64: Fix off by one in bad_addr checking in find_e820_area · 7ca97c61
      Robert Hentosh 提交于
      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 )
             continue;
      
      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: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7ca97c61
  8. 09 5月, 2006 1 次提交
    • A
      [PATCH] x86_64: Avoid EBDA area in early boot allocator · ac71d12c
      Andi Kleen 提交于
      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: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ac71d12c
  9. 10 4月, 2006 3 次提交
  10. 11 1月, 2006 1 次提交
  11. 15 11月, 2005 1 次提交
  12. 18 9月, 2005 1 次提交
  13. 14 9月, 2005 1 次提交
  14. 13 9月, 2005 1 次提交
  15. 10 9月, 2005 1 次提交
    • D
      [PATCH] Update PCI IOMEM allocation start · f0eca962
      Daniel Ritz 提交于
      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: NGreg KH <greg@kroah.com>
      Acked-by: NIvan Kokshaysky <ink@jurassic.park.msu.ru>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f0eca962
  16. 08 9月, 2005 1 次提交
  17. 27 8月, 2005 1 次提交
    • A
      [PATCH] x86_64: Tell VM about holes in nodes · 485761bd
      Andi Kleen 提交于
      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: NAndi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      485761bd
  18. 26 6月, 2005 2 次提交
  19. 01 5月, 2005 1 次提交
  20. 17 4月, 2005 2 次提交