Skip to content
  1. Apr 09, 2006
    • Arjan van de Ven's avatar
      [PATCH] i386/x86-64: Check that MCFG points to an e820 reserved area · 946f2ee5
      Arjan van de Ven authored
      
      
      This patch introduces a user for the e820_all_mapped function:
      
      There have been several machines that don't have a working MMCONFIG,
      often because of a buggy MCFG table in the ACPI bios.  This patch adds a
      simple sanity check that detects a whole bunch of these cases, and when
      it detects it, linux now boots rather than crash-and-burns.
      
      The accuracy of this detection can in principle be improved if there was
      a "is this entire range in e820 with THIS attribute", but no such
      function exist and the complexity needed for this is not really worth
      it; this simple check already catches most cases anyway.
      
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      946f2ee5
    • Arjan van de Ven's avatar
      [PATCH] x86_64: Introduce e820_all_mapped · 95222368
      Arjan van de Ven authored
      
      
      Introduce a e820_all_mapped() function which checks if the entire range
      <start,end> is mapped with type.
      
      This is done by moving the local start variable to the end of each
      known-good region; if at the end of the function the start address is
      still before end, there must be a part that's not of the correct type;
      otherwise it's a good region.
      
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      95222368
    • Arjan van de Ven's avatar
      [PATCH] x86_64: Rename e820_mapped to e820_any_mapped · eee5a9fa
      Arjan van de Ven authored
      
      
      Rename e820_mapped to e820_any_mapped since it tests if any part of the
      range is mapped according to the type.
      
      Later steps will introduce e820_all_mapped which will check if the
      entire range is mapped with the type.  Both have their merit.
      
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      eee5a9fa
    • Andi Kleen's avatar
      [PATCH] x86_64: Handle empty PXMs that only contain hotplug memory · a8062231
      Andi Kleen authored
      
      
      The node setup code would try to allocate the node metadata in the node
      itself, but that fails if there is no memory in there.
      
      This can happen with memory hotplug when the hotplug area defines an so
      far empty node.
      
      Now use bootmem to try to allocate the mem_map in other nodes.
      
      And if it fails don't panic, but just ignore the node.
      
      To make this work I added a new __alloc_bootmem_nopanic function that
      does what its name implies.
      
      TBD should try to use nearby nodes here.  Currently we just use any.
      It's hard to do it better because bootmem doesn't have proper fallback
      lists yet.
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a8062231
    • Andi Kleen's avatar
      [PATCH] x86_64: Reserve SRAT hotadd memory on x86-64 · 68a3a7fe
      Andi Kleen authored
      
      
      From: Keith Mannthey, Andi Kleen
      
      Implement memory hotadd without sparsemem. The memory in the SRAT
      hotadd area is just preserved instead and can be activated later.
      
      There are a few restrictions:
      - Only one continuous hotadd area allowed per node
      
      The main problem is dealing with the many buggy SRAT tables
      that are out there. The strategy here is to reject anything
      suspicious.
      
      Originally from Keith Mannthey, with several hacks and changes by AK
      and also contributions from Andrew Morton
      
      [ TBD: Problems pointed out by KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>:
      
       1) Goto's rebuild_zonelist patch will not work if CONFIG_MEMORY_HOTPLUG=n.
      
          Rebuilding zonelist is necessary when the system has just memory <
          4G at boot, and hot add memory > 4G.  because x86_64 has DMA32,
          ZONE_NORAML is not included into zonelist at boot time if system
          doesn't have memory >4G at boot.
      
          [AK: should just force the higher zones at boot time when SRAT tells us]
      
       2) zone and node's spanned_pages and present_pages are not incremented.
          They should be.
      
          For example, our server (ia64/Fujitsu PrimeQuest) can equip memory
          from 4G to 1T(maybe 2T in future), and SRAT will *always* say we have
          possible 1T +memory.  (Microsoft requires "write all possible memory
          in SRAT") When we reserve memmap for possible 1T memory, Linux will
          not work well in +minimum 4G configuraion ;)
      
          [AK: needs limiting to 5-10% of max memory]
       ]
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      68a3a7fe
    • Andi Kleen's avatar
      [PATCH] x86_64: Support memory hotadd without sparsemem · 9d99aaa3
      Andi Kleen authored
      
      
      Memory hotadd doesn't need SPARSEMEM, but can be handled by just preallocating
      mem_maps. This only needs some untangling of ifdefs to enable the necessary
      code even without SPARSEMEM.
      
      Originally from Keith Mannthey, hacked by AK.
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9d99aaa3
    • Andi Kleen's avatar
      [PATCH] x86_64: Clean up execve path · 805e8c03
      Andi Kleen authored
      
      
      Just call IRET always, no need for any special cases.
      
      Needed for the next bug fix.
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      805e8c03
    • Andi Kleen's avatar
      [PATCH] x86_64: Update defconfig · 903fcc60
      Andi Kleen authored
      
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      903fcc60
  2. Apr 02, 2006
  3. Apr 01, 2006
Loading