aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2010-08-25 16:39:17 -0400
committerH. Peter Anvin <hpa@zytor.com>2010-08-27 14:12:29 -0400
commit72d7c3b33c980843e756681fb4867dc1efd62a76 (patch)
tree9607345d9fa055dd501aacf0772258fb72897035 /arch/x86/Kconfig
parent301ff3e88ef9ff4bdb92f36a3e6170fce4c9dd34 (diff)
x86: Use memblock to replace early_res
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: David S. Miller <davem@davemloft.net> Suggested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index dcb0593b4a66..542bb2610cbb 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -27,6 +27,7 @@ config X86
27 select HAVE_PERF_EVENTS if (!M386 && !M486) 27 select HAVE_PERF_EVENTS if (!M386 && !M486)
28 select HAVE_IOREMAP_PROT 28 select HAVE_IOREMAP_PROT
29 select HAVE_KPROBES 29 select HAVE_KPROBES
30 select HAVE_MEMBLOCK
30 select ARCH_WANT_OPTIONAL_GPIOLIB 31 select ARCH_WANT_OPTIONAL_GPIOLIB
31 select ARCH_WANT_FRAME_POINTERS 32 select ARCH_WANT_FRAME_POINTERS
32 select HAVE_DMA_ATTRS 33 select HAVE_DMA_ATTRS
@@ -195,9 +196,6 @@ config ARCH_SUPPORTS_OPTIMIZED_INLINING
195config ARCH_SUPPORTS_DEBUG_PAGEALLOC 196config ARCH_SUPPORTS_DEBUG_PAGEALLOC
196 def_bool y 197 def_bool y
197 198
198config HAVE_EARLY_RES
199 def_bool y
200
201config HAVE_INTEL_TXT 199config HAVE_INTEL_TXT
202 def_bool y 200 def_bool y
203 depends on EXPERIMENTAL && DMAR && ACPI 201 depends on EXPERIMENTAL && DMAR && ACPI
@@ -590,14 +588,13 @@ config NO_BOOTMEM
590 default y 588 default y
591 bool "Disable Bootmem code" 589 bool "Disable Bootmem code"
592 ---help--- 590 ---help---
593 Use early_res directly instead of bootmem before slab is ready. 591 Use memblock directly instead of bootmem before slab is ready.
594 - allocator (buddy) [generic] 592 - allocator (buddy) [generic]
595 - early allocator (bootmem) [generic] 593 - early allocator (bootmem) [generic]
596 - very early allocator (reserve_early*()) [x86] 594 - very early allocator (memblock) [some generic]
597 - very very early allocator (early brk model) [x86] 595 - very very early allocator (early brk model) [x86]
598 So reduce one layer between early allocator to final allocator 596 So reduce one layer between early allocator to final allocator
599 597
600
601config MEMTEST 598config MEMTEST
602 bool "Memtest" 599 bool "Memtest"
603 ---help--- 600 ---help---