1. 22 7月, 2007 3 次提交
  2. 08 5月, 2007 1 次提交
  3. 03 5月, 2007 1 次提交
  4. 17 3月, 2007 1 次提交
    • S
      [PATCH] x86-64: fix section mismatch warnings · 43999d9e
      Sam Ravnborg 提交于
      Fix the following section mismatch warnings on x86_64:
      (build using defconfig)
      
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text:mtrr_bp_init from .text between 'identify_cpu' (at offset 0x65eb) and 'IRQ0x20_interrupt'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data: from .text between 'finish_e820_parsing' (at offset 0x7dc2) and 'early_panic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text:e820_print_map from .text between 'finish_e820_parsing' (at offset 0x7de1) and 'early_panic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:num_processors from .text between 'acpi_unmap_lsapic' (at offset 0xc88f) and 'acpi_register_ioapic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:disabled_cpus from .text between 'MP_processor_info' (at offset 0x11f35) and 'mp_register_lapic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:num_processors from .text between 'MP_processor_info' (at offset 0x11f6e) and 'mp_register_lapic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:num_processors from .text between 'MP_processor_info' (at offset 0x11f93) and 'mp_register_lapic'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:fix_aperture from .text between 'gart_parse_options' (at offset 0x15517) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:fix_aperture from .text between 'gart_parse_options' (at offset 0x1552c) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_allowed from .text between 'gart_parse_options' (at offset 0x1553d) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_allowed from .text between 'gart_parse_options' (at offset 0x15552) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_allowed from .text between 'gart_parse_options' (at offset 0x15561) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_allowed from .text between 'gart_parse_options' (at offset 0x15577) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:fallback_aper_force from .text between 'gart_parse_options' (at offset 0x1558a) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:fallback_aper_order from .text between 'gart_parse_options' (at offset 0x155bf) and 'iommu_full'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:timer_over_8254 from .text between 'ati_bugs' (at offset 0x16344) and 'via_bugs'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:timer_over_8254 from .text between 'ati_bugs' (at offset 0x16356) and 'via_bugs'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_allowed from .text between 'via_bugs' (at offset 0x16380) and 'nvidia_bugs'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:iommu_aperture_disabled from .text between 'via_bugs' (at offset 0x16397) and 'nvidia_bugs'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:acpi_use_timer_override from .text between 'nvidia_bugs' (at offset 0x163a7) and 'arch_unregister_cpu'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text:nvidia_hpet_check from .text between 'nvidia_bugs' (at offset 0x163b1) and 'arch_unregister_cpu'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data: from .text between 'nvidia_bugs' (at offset 0x163be) and 'arch_unregister_cpu'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data: from .text between 'nvidia_bugs' (at offset 0x163d1) and 'arch_unregister_cpu'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.data:acpi_skip_timer_override from .text between 'nvidia_bugs' (at offset 0x163e1) and 'arch_unregister_cpu'
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text:quirk_intel_irqbalance from .text between 'intel_bugs' (at offset 0x1633c) and 'ati_bugs'
      
      But adds:
      WARNING: arch/x86_64/kernel/built-in.o - Section mismatch: reference to .init.text:get_mtrr_state from .text between 'mtrr_bp_init' (at offset 0xb887) and 'ipi_handler'
      
      The warnings does not show up during a normal build due to kbuild
      failing to check for section mismatch in vmlinux.
      To see these warnings run:
      scripts/mod/modpost arch/x86_64/kernel/built-in.o
      
      kbuild will be fixed but the 'noise-level' had to be decresed first.
      There remains a few section mismatch warnigns for x86_64 for areas where I did
      not feel confident.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      43999d9e
  5. 13 2月, 2007 2 次提交
  6. 14 11月, 2006 2 次提交
  7. 22 10月, 2006 1 次提交
    • V
      [PATCH] x86-64: fix page align in e820 allocator · 73bb8919
      Vivek Goyal 提交于
      Currently some code pieces assume that address returned by find_e820_area()
      are page aligned.  But looks like find_e820_area() had no such intention
      and hence one might end up stomping over some of the data.  One such case
      is bootmem allocator initialization code stomped over bss.
      
      This patch modified find_e820_area() to return page aligned address.  This
      might be little wasteful of memory but at the same time probably it is
      easier to handle page aligned memory.
      Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      73bb8919
  8. 27 9月, 2006 1 次提交
  9. 26 9月, 2006 6 次提交
  10. 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
  11. 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
  12. 11 7月, 2006 1 次提交
  13. 01 7月, 2006 1 次提交
  14. 27 6月, 2006 2 次提交
  15. 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
  16. 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
  17. 10 4月, 2006 3 次提交
  18. 11 1月, 2006 1 次提交
  19. 15 11月, 2005 1 次提交
  20. 18 9月, 2005 1 次提交
  21. 14 9月, 2005 1 次提交
  22. 13 9月, 2005 1 次提交
  23. 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
  24. 08 9月, 2005 1 次提交
  25. 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
  26. 26 6月, 2005 2 次提交