1. 22 1月, 2014 1 次提交
  2. 16 5月, 2012 1 次提交
  3. 15 7月, 2011 2 次提交
  4. 14 7月, 2011 1 次提交
  5. 09 3月, 2011 1 次提交
  6. 28 8月, 2010 1 次提交
    • Y
      x86: Use memblock to replace early_res · 72d7c3b3
      Yinghai Lu 提交于
      1. replace find_e820_area with memblock_find_in_range
      2. replace reserve_early with memblock_x86_reserve_range
      3. replace free_early with memblock_x86_free_range.
      4. NO_BOOTMEM will switch to use memblock too.
      5. use _e820, _early wrap in the patch, in following patch, will
         replace them all
      6. because memblock_x86_free_range support partial free, we can remove some special care
      7. Need to make sure that memblock_find_in_range() is called after memblock_x86_fill()
         so adjust some calling later in setup.c::setup_arch()
         -- corruption_check and mptable_update
      
      -v2: Move reserve_brk() early
          Before fill_memblock_area, to avoid overlap between brk and memblock_find_in_range()
          that could happen We have more then 128 RAM entry in E820 tables, and
          memblock_x86_fill() could use memblock_find_in_range() to find a new place for
          memblock.memory.region array.
          and We don't need to use extend_brk() after fill_memblock_area()
          So move reserve_brk() early before fill_memblock_area().
      -v3: Move find_smp_config early
          To make sure memblock_find_in_range not find wrong place, if BIOS doesn't put mptable
          in right place.
      -v4: Treat RESERVED_KERN as RAM in memblock.memory. and they are already in
          memblock.reserved already..
          use __NOT_KEEP_MEMBLOCK to make sure memblock related code could be freed later.
      -v5: Generic version __memblock_find_in_range() is going from high to low, and for 32bit
          active_region for 32bit does include high pages
          need to replace the limit with memblock.default_alloc_limit, aka get_max_mapped()
      -v6: Use current_limit instead
      -v7: check with MEMBLOCK_ERROR instead of -1ULL or -1L
      -v8: Set memblock_can_resize early to handle EFI with more RAM entries
      -v9: update after kmemleak changes in mainline
      Suggested-by: NDavid S. Miller <davem@davemloft.net>
      Suggested-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Suggested-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      72d7c3b3
  7. 15 3月, 2009 1 次提交
  8. 13 3月, 2009 1 次提交
    • J
      x86: fix code paths used by update_mptable · 5c0e6f03
      Jan Beulich 提交于
      Impact: fix crashes under Xen due to unrobust e820 code
      
      find_e820_area_size() must return a properly distinguishable and
      out-of-bounds value when it fails, and -1UL does not meet that
      criteria on i386/PAE. Additionally, callers of the function must
      check against that value.
      
      early_reserve_e820() should be prepared for the region found to be
      outside of the addressable range on 32-bits.
      
      e820_update_range_map() should not blindly update e820, but should do
      all it work on the map it got a pointer passed for (which in 50% of the
      cases is &e820_saved). It must also not call e820_add_region(), as that
      again acts on e820 unconditionally.
      
      The issues were found when trying to make this option work in our Xen
      kernel (i.e. where some of the silent assumptions made in the code
      would not hold).
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      LKML-Reference: <49B9171B.76E4.0078.0@novell.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5c0e6f03
  9. 28 10月, 2008 3 次提交