summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Rapoport <rppt@linux.vnet.ibm.com>2018-10-30 18:07:40 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-10-31 11:54:14 -0400
commitb4a991ec584b3ce333342c431c3cc4fef8a690d7 (patch)
treea71e5daeebdb1f534b67dc81632c3c8d1883e756
parent69a60bc75fe73511af89328ded1b33bc4a625a5c (diff)
mm: remove CONFIG_NO_BOOTMEM
All achitectures select NO_BOOTMEM which essentially becomes 'Y' for any kernel configuration and therefore it can be removed. [alexander.h.duyck@linux.intel.com: remove now defunct NO_BOOTMEM from depends list for deferred init] Link: http://lkml.kernel.org/r/20180925201814.3576.15105.stgit@localhost.localdomain Link: http://lkml.kernel.org/r/1536927045-23536-3-git-send-email-rppt@linux.vnet.ibm.com Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Chris Zankel <chris@zankel.net> Cc: "David S. Miller" <davem@davemloft.net> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Greentime Hu <green.hu@gmail.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Ingo Molnar <mingo@redhat.com> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Jonas Bonn <jonas@southpole.se> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Ley Foon Tan <lftan@altera.com> Cc: Mark Salter <msalter@redhat.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Simek <monstr@monstr.eu> Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Paul Burton <paul.burton@mips.com> Cc: Richard Kuo <rkuo@codeaurora.org> Cc: Richard Weinberger <richard@nod.at> Cc: Rich Felker <dalias@libc.org> Cc: Russell King <linux@armlinux.org.uk> Cc: Serge Semin <fancer.lancer@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/alpha/Kconfig1
-rw-r--r--arch/arc/Kconfig1
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm64/Kconfig1
-rw-r--r--arch/csky/Kconfig1
-rw-r--r--arch/h8300/Kconfig1
-rw-r--r--arch/hexagon/Kconfig1
-rw-r--r--arch/ia64/Kconfig1
-rw-r--r--arch/m68k/Kconfig1
-rw-r--r--arch/microblaze/Kconfig1
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--arch/nds32/Kconfig1
-rw-r--r--arch/nios2/Kconfig1
-rw-r--r--arch/openrisc/Kconfig1
-rw-r--r--arch/parisc/Kconfig1
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/riscv/Kconfig1
-rw-r--r--arch/s390/Kconfig1
-rw-r--r--arch/sh/Kconfig1
-rw-r--r--arch/sparc/Kconfig1
-rw-r--r--arch/um/Kconfig1
-rw-r--r--arch/unicore32/Kconfig1
-rw-r--r--arch/x86/Kconfig3
-rw-r--r--arch/xtensa/Kconfig1
-rw-r--r--include/linux/bootmem.h36
-rw-r--r--include/linux/mmzone.h5
-rw-r--r--mm/Kconfig4
-rw-r--r--mm/Makefile7
-rw-r--r--mm/memblock.c2
29 files changed, 4 insertions, 76 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 620b0a711ee4..04de6be101bc 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -32,7 +32,6 @@ config ALPHA
32 select OLD_SIGSUSPEND 32 select OLD_SIGSUSPEND
33 select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67 33 select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
34 select HAVE_MEMBLOCK 34 select HAVE_MEMBLOCK
35 select NO_BOOTMEM
36 help 35 help
37 The Alpha is a 64-bit general-purpose processor designed and 36 The Alpha is a 64-bit general-purpose processor designed and
38 marketed by the Digital Equipment Corporation of blessed memory, 37 marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index e98c6b8e6186..56995f356f69 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -44,7 +44,6 @@ config ARC
44 select HANDLE_DOMAIN_IRQ 44 select HANDLE_DOMAIN_IRQ
45 select IRQ_DOMAIN 45 select IRQ_DOMAIN
46 select MODULES_USE_ELF_RELA 46 select MODULES_USE_ELF_RELA
47 select NO_BOOTMEM
48 select OF 47 select OF
49 select OF_EARLY_FLATTREE 48 select OF_EARLY_FLATTREE
50 select OF_RESERVED_MEM 49 select OF_RESERVED_MEM
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index b8c6062ca0c1..37d4c40f405a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -100,7 +100,6 @@ config ARM
100 select IRQ_FORCED_THREADING 100 select IRQ_FORCED_THREADING
101 select MODULES_USE_ELF_REL 101 select MODULES_USE_ELF_REL
102 select NEED_DMA_MAP_STATE 102 select NEED_DMA_MAP_STATE
103 select NO_BOOTMEM
104 select OF_EARLY_FLATTREE if OF 103 select OF_EARLY_FLATTREE if OF
105 select OF_RESERVED_MEM if OF 104 select OF_RESERVED_MEM if OF
106 select OLD_SIGACTION 105 select OLD_SIGACTION
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 964f682a2b7b..a8f36c7041ff 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -161,7 +161,6 @@ config ARM64
161 select MULTI_IRQ_HANDLER 161 select MULTI_IRQ_HANDLER
162 select NEED_DMA_MAP_STATE 162 select NEED_DMA_MAP_STATE
163 select NEED_SG_DMA_LENGTH 163 select NEED_SG_DMA_LENGTH
164 select NO_BOOTMEM
165 select OF 164 select OF
166 select OF_EARLY_FLATTREE 165 select OF_EARLY_FLATTREE
167 select OF_RESERVED_MEM 166 select OF_RESERVED_MEM
diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
index 0a0558567eaa..46966f576249 100644
--- a/arch/csky/Kconfig
+++ b/arch/csky/Kconfig
@@ -39,7 +39,6 @@ config CSKY
39 select HAVE_MEMBLOCK 39 select HAVE_MEMBLOCK
40 select MAY_HAVE_SPARSE_IRQ 40 select MAY_HAVE_SPARSE_IRQ
41 select MODULES_USE_ELF_RELA if MODULES 41 select MODULES_USE_ELF_RELA if MODULES
42 select NO_BOOTMEM
43 select OF 42 select OF
44 select OF_EARLY_FLATTREE 43 select OF_EARLY_FLATTREE
45 select OF_RESERVED_MEM 44 select OF_RESERVED_MEM
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index 0b334b671e90..5e89d40be8cd 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -16,7 +16,6 @@ config H8300
16 select OF_IRQ 16 select OF_IRQ
17 select OF_EARLY_FLATTREE 17 select OF_EARLY_FLATTREE
18 select HAVE_MEMBLOCK 18 select HAVE_MEMBLOCK
19 select NO_BOOTMEM
20 select TIMER_OF 19 select TIMER_OF
21 select H8300_TMR8 20 select H8300_TMR8
22 select HAVE_KERNEL_GZIP 21 select HAVE_KERNEL_GZIP
diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
index 7b25d7c8fa49..7823f15e17b2 100644
--- a/arch/hexagon/Kconfig
+++ b/arch/hexagon/Kconfig
@@ -23,7 +23,6 @@ config HEXAGON
23 select HAVE_ARCH_TRACEHOOK 23 select HAVE_ARCH_TRACEHOOK
24 select HAVE_MEMBLOCK 24 select HAVE_MEMBLOCK
25 select ARCH_DISCARD_MEMBLOCK 25 select ARCH_DISCARD_MEMBLOCK
26 select NO_BOOTMEM
27 select NEED_SG_DMA_LENGTH 26 select NEED_SG_DMA_LENGTH
28 select NO_IOPORT_MAP 27 select NO_IOPORT_MAP
29 select GENERIC_IOMAP 28 select GENERIC_IOMAP
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 8b4a0c1748c0..2bf4ef792f2c 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -28,7 +28,6 @@ config IA64
28 select HAVE_ARCH_TRACEHOOK 28 select HAVE_ARCH_TRACEHOOK
29 select HAVE_MEMBLOCK 29 select HAVE_MEMBLOCK
30 select HAVE_MEMBLOCK_NODE_MAP 30 select HAVE_MEMBLOCK_NODE_MAP
31 select NO_BOOTMEM
32 select HAVE_VIRT_CPU_ACCOUNTING 31 select HAVE_VIRT_CPU_ACCOUNTING
33 select ARCH_HAS_DMA_MARK_CLEAN 32 select ARCH_HAS_DMA_MARK_CLEAN
34 select ARCH_HAS_SG_CHAIN 33 select ARCH_HAS_SG_CHAIN
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index c7b2a8d60a41..26edf2542295 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -29,7 +29,6 @@ config M68K
29 select DMA_DIRECT_OPS if HAS_DMA 29 select DMA_DIRECT_OPS if HAS_DMA
30 select HAVE_MEMBLOCK 30 select HAVE_MEMBLOCK
31 select ARCH_DISCARD_MEMBLOCK 31 select ARCH_DISCARD_MEMBLOCK
32 select NO_BOOTMEM
33 32
34config CPU_BIG_ENDIAN 33config CPU_BIG_ENDIAN
35 def_bool y 34 def_bool y
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index 164a4857737a..5c2777bb5555 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -28,7 +28,6 @@ config MICROBLAZE
28 select HAVE_FTRACE_MCOUNT_RECORD 28 select HAVE_FTRACE_MCOUNT_RECORD
29 select HAVE_FUNCTION_GRAPH_TRACER 29 select HAVE_FUNCTION_GRAPH_TRACER
30 select HAVE_FUNCTION_TRACER 30 select HAVE_FUNCTION_TRACER
31 select NO_BOOTMEM
32 select HAVE_MEMBLOCK 31 select HAVE_MEMBLOCK
33 select HAVE_MEMBLOCK_NODE_MAP 32 select HAVE_MEMBLOCK_NODE_MAP
34 select HAVE_OPROFILE 33 select HAVE_OPROFILE
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 80778b40f8fa..366934157632 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -78,7 +78,6 @@ config MIPS
78 select RTC_LIB 78 select RTC_LIB
79 select SYSCTL_EXCEPTION_TRACE 79 select SYSCTL_EXCEPTION_TRACE
80 select VIRT_TO_BUS 80 select VIRT_TO_BUS
81 select NO_BOOTMEM
82 81
83menu "Machine selection" 82menu "Machine selection"
84 83
diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
index 56992330026a..93c0b587ee23 100644
--- a/arch/nds32/Kconfig
+++ b/arch/nds32/Kconfig
@@ -36,7 +36,6 @@ config NDS32
36 select MODULES_USE_ELF_RELA 36 select MODULES_USE_ELF_RELA
37 select OF 37 select OF
38 select OF_EARLY_FLATTREE 38 select OF_EARLY_FLATTREE
39 select NO_BOOTMEM
40 select NO_IOPORT_MAP 39 select NO_IOPORT_MAP
41 select RTC_LIB 40 select RTC_LIB
42 select THREAD_INFO_IN_TASK 41 select THREAD_INFO_IN_TASK
diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
index 2df0c57f2833..b01febeb5ce3 100644
--- a/arch/nios2/Kconfig
+++ b/arch/nios2/Kconfig
@@ -25,7 +25,6 @@ config NIOS2
25 select CPU_NO_EFFICIENT_FFS 25 select CPU_NO_EFFICIENT_FFS
26 select HAVE_MEMBLOCK 26 select HAVE_MEMBLOCK
27 select ARCH_DISCARD_MEMBLOCK 27 select ARCH_DISCARD_MEMBLOCK
28 select NO_BOOTMEM
29 28
30config GENERIC_CSUM 29config GENERIC_CSUM
31 def_bool y 30 def_bool y
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index a655ae280637..cbfaf15f9d70 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -32,7 +32,6 @@ config OPENRISC
32 select HAVE_DEBUG_STACKOVERFLOW 32 select HAVE_DEBUG_STACKOVERFLOW
33 select OR1K_PIC 33 select OR1K_PIC
34 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1 34 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
35 select NO_BOOTMEM
36 select ARCH_USE_QUEUED_SPINLOCKS 35 select ARCH_USE_QUEUED_SPINLOCKS
37 select ARCH_USE_QUEUED_RWLOCKS 36 select ARCH_USE_QUEUED_RWLOCKS
38 select OMPIC if SMP 37 select OMPIC if SMP
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index f1cd12afd943..7418ebeeb4a4 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -16,7 +16,6 @@ config PARISC
16 select RTC_DRV_GENERIC 16 select RTC_DRV_GENERIC
17 select INIT_ALL_POSSIBLE 17 select INIT_ALL_POSSIBLE
18 select HAVE_MEMBLOCK 18 select HAVE_MEMBLOCK
19 select NO_BOOTMEM
20 select BUG 19 select BUG
21 select BUILDTIME_EXTABLE_SORT 20 select BUILDTIME_EXTABLE_SORT
22 select HAVE_PERF_EVENTS 21 select HAVE_PERF_EVENTS
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index e84943d24e5c..5798ffb1379b 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -231,7 +231,6 @@ config PPC
231 select MODULES_USE_ELF_RELA 231 select MODULES_USE_ELF_RELA
232 select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE 232 select NEED_DMA_MAP_STATE if PPC64 || NOT_COHERENT_CACHE
233 select NEED_SG_DMA_LENGTH 233 select NEED_SG_DMA_LENGTH
234 select NO_BOOTMEM
235 select OF 234 select OF
236 select OF_EARLY_FLATTREE 235 select OF_EARLY_FLATTREE
237 select OF_RESERVED_MEM 236 select OF_RESERVED_MEM
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index fe451348ae57..f7c6b7cf124a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -35,7 +35,6 @@ config RISCV
35 select HAVE_GENERIC_DMA_COHERENT 35 select HAVE_GENERIC_DMA_COHERENT
36 select HAVE_PERF_EVENTS 36 select HAVE_PERF_EVENTS
37 select IRQ_DOMAIN 37 select IRQ_DOMAIN
38 select NO_BOOTMEM
39 select RISCV_ISA_A if SMP 38 select RISCV_ISA_A if SMP
40 select SPARSE_IRQ 39 select SPARSE_IRQ
41 select SYSCTL_EXCEPTION_TRACE 40 select SYSCTL_EXCEPTION_TRACE
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 8b25e1f45b27..c7af83a15b2d 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -175,7 +175,6 @@ config S390
175 select HAVE_SYSCALL_TRACEPOINTS 175 select HAVE_SYSCALL_TRACEPOINTS
176 select HAVE_VIRT_CPU_ACCOUNTING 176 select HAVE_VIRT_CPU_ACCOUNTING
177 select MODULES_USE_ELF_RELA 177 select MODULES_USE_ELF_RELA
178 select NO_BOOTMEM
179 select OLD_SIGACTION 178 select OLD_SIGACTION
180 select OLD_SIGSUSPEND3 179 select OLD_SIGSUSPEND3
181 select SPARSE_IRQ 180 select SPARSE_IRQ
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 475d786a65b0..7aaea9690e18 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -11,7 +11,6 @@ config SUPERH
11 select HAVE_IDE if HAS_IOPORT_MAP 11 select HAVE_IDE if HAS_IOPORT_MAP
12 select HAVE_MEMBLOCK 12 select HAVE_MEMBLOCK
13 select HAVE_MEMBLOCK_NODE_MAP 13 select HAVE_MEMBLOCK_NODE_MAP
14 select NO_BOOTMEM
15 select ARCH_DISCARD_MEMBLOCK 14 select ARCH_DISCARD_MEMBLOCK
16 select HAVE_OPROFILE 15 select HAVE_OPROFILE
17 select HAVE_GENERIC_DMA_COHERENT 16 select HAVE_GENERIC_DMA_COHERENT
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 7e2aa59fcc29..98c0996f3c2c 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -46,7 +46,6 @@ config SPARC
46 select NEED_DMA_MAP_STATE 46 select NEED_DMA_MAP_STATE
47 select NEED_SG_DMA_LENGTH 47 select NEED_SG_DMA_LENGTH
48 select HAVE_MEMBLOCK 48 select HAVE_MEMBLOCK
49 select NO_BOOTMEM
50 49
51config SPARC32 50config SPARC32
52 def_bool !64BIT 51 def_bool !64BIT
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 10c15b8853ae..ce3d56299b28 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -13,7 +13,6 @@ config UML
13 select HAVE_FUTEX_CMPXCHG if FUTEX 13 select HAVE_FUTEX_CMPXCHG if FUTEX
14 select HAVE_DEBUG_KMEMLEAK 14 select HAVE_DEBUG_KMEMLEAK
15 select HAVE_MEMBLOCK 15 select HAVE_MEMBLOCK
16 select NO_BOOTMEM
17 select GENERIC_IRQ_SHOW 16 select GENERIC_IRQ_SHOW
18 select GENERIC_CPU_DEVICES 17 select GENERIC_CPU_DEVICES
19 select GENERIC_CLOCKEVENTS 18 select GENERIC_CLOCKEVENTS
diff --git a/arch/unicore32/Kconfig b/arch/unicore32/Kconfig
index 0c5111b206bd..3a3b40f79558 100644
--- a/arch/unicore32/Kconfig
+++ b/arch/unicore32/Kconfig
@@ -6,7 +6,6 @@ config UNICORE32
6 select ARCH_MIGHT_HAVE_PC_SERIO 6 select ARCH_MIGHT_HAVE_PC_SERIO
7 select DMA_DIRECT_OPS 7 select DMA_DIRECT_OPS
8 select HAVE_MEMBLOCK 8 select HAVE_MEMBLOCK
9 select NO_BOOTMEM
10 select HAVE_GENERIC_DMA_COHERENT 9 select HAVE_GENERIC_DMA_COHERENT
11 select HAVE_KERNEL_GZIP 10 select HAVE_KERNEL_GZIP
12 select HAVE_KERNEL_BZIP2 11 select HAVE_KERNEL_BZIP2
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ffebfc3f43c1..0354f52ef30e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -834,9 +834,6 @@ config JAILHOUSE_GUEST
834 834
835endif #HYPERVISOR_GUEST 835endif #HYPERVISOR_GUEST
836 836
837config NO_BOOTMEM
838 def_bool y
839
840source "arch/x86/Kconfig.cpu" 837source "arch/x86/Kconfig.cpu"
841 838
842config HPET_TIMER 839config HPET_TIMER
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index ea5d8d03e53b..df43d2e76842 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -34,7 +34,6 @@ config XTENSA
34 select HAVE_STACKPROTECTOR 34 select HAVE_STACKPROTECTOR
35 select IRQ_DOMAIN 35 select IRQ_DOMAIN
36 select MODULES_USE_ELF_RELA 36 select MODULES_USE_ELF_RELA
37 select NO_BOOTMEM
38 select PERF_USE_VMALLOC 37 select PERF_USE_VMALLOC
39 select VIRT_TO_BUS 38 select VIRT_TO_BUS
40 help 39 help
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h
index 42515195d7d8..1f005b5c1555 100644
--- a/include/linux/bootmem.h
+++ b/include/linux/bootmem.h
@@ -26,34 +26,6 @@ extern unsigned long max_pfn;
26 */ 26 */
27extern unsigned long long max_possible_pfn; 27extern unsigned long long max_possible_pfn;
28 28
29#ifndef CONFIG_NO_BOOTMEM
30/**
31 * struct bootmem_data - per-node information used by the bootmem allocator
32 * @node_min_pfn: the starting physical address of the node's memory
33 * @node_low_pfn: the end physical address of the directly addressable memory
34 * @node_bootmem_map: is a bitmap pointer - the bits represent all physical
35 * memory pages (including holes) on the node.
36 * @last_end_off: the offset within the page of the end of the last allocation;
37 * if 0, the page used is full
38 * @hint_idx: the PFN of the page used with the last allocation;
39 * together with using this with the @last_end_offset field,
40 * a test can be made to see if allocations can be merged
41 * with the page used for the last allocation rather than
42 * using up a full new page.
43 * @list: list entry in the linked list ordered by the memory addresses
44 */
45typedef struct bootmem_data {
46 unsigned long node_min_pfn;
47 unsigned long node_low_pfn;
48 void *node_bootmem_map;
49 unsigned long last_end_off;
50 unsigned long hint_idx;
51 struct list_head list;
52} bootmem_data_t;
53
54extern bootmem_data_t bootmem_node_data[];
55#endif
56
57extern unsigned long bootmem_bootmap_pages(unsigned long); 29extern unsigned long bootmem_bootmap_pages(unsigned long);
58 30
59extern unsigned long init_bootmem_node(pg_data_t *pgdat, 31extern unsigned long init_bootmem_node(pg_data_t *pgdat,
@@ -125,12 +97,8 @@ extern void *__alloc_bootmem_low_node(pg_data_t *pgdat,
125 unsigned long align, 97 unsigned long align,
126 unsigned long goal) __malloc; 98 unsigned long goal) __malloc;
127 99
128#ifdef CONFIG_NO_BOOTMEM
129/* We are using top down, so it is safe to use 0 here */ 100/* We are using top down, so it is safe to use 0 here */
130#define BOOTMEM_LOW_LIMIT 0 101#define BOOTMEM_LOW_LIMIT 0
131#else
132#define BOOTMEM_LOW_LIMIT __pa(MAX_DMA_ADDRESS)
133#endif
134 102
135#ifndef ARCH_LOW_ADDRESS_LIMIT 103#ifndef ARCH_LOW_ADDRESS_LIMIT
136#define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL 104#define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL
@@ -165,7 +133,7 @@ extern void *__alloc_bootmem_low_node(pg_data_t *pgdat,
165 __alloc_bootmem_low_node(pgdat, x, PAGE_SIZE, 0) 133 __alloc_bootmem_low_node(pgdat, x, PAGE_SIZE, 0)
166 134
167 135
168#if defined(CONFIG_HAVE_MEMBLOCK) && defined(CONFIG_NO_BOOTMEM) 136#if defined(CONFIG_HAVE_MEMBLOCK)
169 137
170/* FIXME: use MEMBLOCK_ALLOC_* variants here */ 138/* FIXME: use MEMBLOCK_ALLOC_* variants here */
171#define BOOTMEM_ALLOC_ACCESSIBLE 0 139#define BOOTMEM_ALLOC_ACCESSIBLE 0
@@ -373,7 +341,7 @@ static inline void __init memblock_free_late(
373{ 341{
374 free_bootmem_late(base, size); 342 free_bootmem_late(base, size);
375} 343}
376#endif /* defined(CONFIG_HAVE_MEMBLOCK) && defined(CONFIG_NO_BOOTMEM) */ 344#endif /* defined(CONFIG_HAVE_MEMBLOCK) */
377 345
378extern void *alloc_large_system_hash(const char *tablename, 346extern void *alloc_large_system_hash(const char *tablename,
379 unsigned long bucketsize, 347 unsigned long bucketsize,
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 9f0caccd5833..847705a6d0ec 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -633,9 +633,6 @@ typedef struct pglist_data {
633 struct page_ext *node_page_ext; 633 struct page_ext *node_page_ext;
634#endif 634#endif
635#endif 635#endif
636#ifndef CONFIG_NO_BOOTMEM
637 struct bootmem_data *bdata;
638#endif
639#if defined(CONFIG_MEMORY_HOTPLUG) || defined(CONFIG_DEFERRED_STRUCT_PAGE_INIT) 636#if defined(CONFIG_MEMORY_HOTPLUG) || defined(CONFIG_DEFERRED_STRUCT_PAGE_INIT)
640 /* 637 /*
641 * Must be held any time you expect node_start_pfn, node_present_pages 638 * Must be held any time you expect node_start_pfn, node_present_pages
@@ -869,7 +866,7 @@ static inline int is_highmem_idx(enum zone_type idx)
869} 866}
870 867
871/** 868/**
872 * is_highmem - helper function to quickly check if a struct zone is a 869 * is_highmem - helper function to quickly check if a struct zone is a
873 * highmem zone or not. This is an attempt to keep references 870 * highmem zone or not. This is an attempt to keep references
874 * to ZONE_{DMA/NORMAL/HIGHMEM/etc} in general code to a minimum. 871 * to ZONE_{DMA/NORMAL/HIGHMEM/etc} in general code to a minimum.
875 * @zone - pointer to struct zone variable 872 * @zone - pointer to struct zone variable
diff --git a/mm/Kconfig b/mm/Kconfig
index 02301a89089e..f7cb608f9ab2 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -142,9 +142,6 @@ config HAVE_GENERIC_GUP
142config ARCH_DISCARD_MEMBLOCK 142config ARCH_DISCARD_MEMBLOCK
143 bool 143 bool
144 144
145config NO_BOOTMEM
146 bool
147
148config MEMORY_ISOLATION 145config MEMORY_ISOLATION
149 bool 146 bool
150 147
@@ -634,7 +631,6 @@ config MAX_STACK_SIZE_MB
634config DEFERRED_STRUCT_PAGE_INIT 631config DEFERRED_STRUCT_PAGE_INIT
635 bool "Defer initialisation of struct pages to kthreads" 632 bool "Defer initialisation of struct pages to kthreads"
636 default n 633 default n
637 depends on NO_BOOTMEM
638 depends on SPARSEMEM 634 depends on SPARSEMEM
639 depends on !NEED_PER_CPU_KM 635 depends on !NEED_PER_CPU_KM
640 depends on 64BIT 636 depends on 64BIT
diff --git a/mm/Makefile b/mm/Makefile
index 6485d5745dd7..ea5333886593 100644
--- a/mm/Makefile
+++ b/mm/Makefile
@@ -42,12 +42,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
42 debug.o $(mmu-y) 42 debug.o $(mmu-y)
43 43
44obj-y += init-mm.o 44obj-y += init-mm.o
45 45obj-y += nobootmem.o
46ifdef CONFIG_NO_BOOTMEM
47 obj-y += nobootmem.o
48else
49 obj-y += bootmem.o
50endif
51 46
52ifdef CONFIG_MMU 47ifdef CONFIG_MMU
53 obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o 48 obj-$(CONFIG_ADVISE_SYSCALLS) += madvise.o
diff --git a/mm/memblock.c b/mm/memblock.c
index a85315083b5a..d6897fbe021f 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1318,7 +1318,6 @@ phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, i
1318 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE); 1318 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
1319} 1319}
1320 1320
1321#if defined(CONFIG_NO_BOOTMEM)
1322/** 1321/**
1323 * memblock_virt_alloc_internal - allocate boot memory block 1322 * memblock_virt_alloc_internal - allocate boot memory block
1324 * @size: size of memory block to be allocated in bytes 1323 * @size: size of memory block to be allocated in bytes
@@ -1524,7 +1523,6 @@ void * __init memblock_virt_alloc_try_nid(
1524 __func__, (u64)size, (u64)align, nid, &min_addr, &max_addr); 1523 __func__, (u64)size, (u64)align, nid, &min_addr, &max_addr);
1525 return NULL; 1524 return NULL;
1526} 1525}
1527#endif
1528 1526
1529/** 1527/**
1530 * __memblock_free_early - free boot memory block 1528 * __memblock_free_early - free boot memory block