summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Rapoport <rppt@linux.vnet.ibm.com>2018-10-30 18:07:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-10-31 11:54:15 -0400
commit9a8dd708d547268c899f1cb443c49bd4d8c84eb3 (patch)
treef055a4a6947fbff66be1c6a506054812be74b4a9
parentb146ada221c178a384fee2a8e2e5b2e8a04476b1 (diff)
memblock: rename memblock_alloc{_nid,_try_nid} to memblock_phys_alloc*
Make it explicit that the caller gets a physical address rather than a virtual one. This will also allow using meblock_alloc prefix for memblock allocations returning virtual address, which is done in the following patches. The conversion is done using the following semantic patch: @@ expression e1, e2, e3; @@ ( - memblock_alloc(e1, e2) + memblock_phys_alloc(e1, e2) | - memblock_alloc_nid(e1, e2, e3) + memblock_phys_alloc_nid(e1, e2, e3) | - memblock_alloc_try_nid(e1, e2, e3) + memblock_phys_alloc_try_nid(e1, e2, e3) ) Link: http://lkml.kernel.org/r/1536927045-23536-7-git-send-email-rppt@linux.vnet.ibm.com Signed-off-by: Mike Rapoport <rppt@linux.vnet.ibm.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/arm/mm/mmu.c2
-rw-r--r--arch/arm64/mm/mmu.c2
-rw-r--r--arch/arm64/mm/numa.c2
-rw-r--r--arch/c6x/mm/dma-coherent.c4
-rw-r--r--arch/nds32/mm/init.c8
-rw-r--r--arch/openrisc/mm/init.c2
-rw-r--r--arch/openrisc/mm/ioremap.c2
-rw-r--r--arch/powerpc/kernel/dt_cpu_ftrs.c4
-rw-r--r--arch/powerpc/kernel/paca.c2
-rw-r--r--arch/powerpc/kernel/prom.c2
-rw-r--r--arch/powerpc/kernel/setup-common.c3
-rw-r--r--arch/powerpc/kernel/setup_32.c10
-rw-r--r--arch/powerpc/mm/numa.c2
-rw-r--r--arch/powerpc/mm/pgtable_32.c2
-rw-r--r--arch/powerpc/mm/ppc_mmu_32.c2
-rw-r--r--arch/powerpc/platforms/pasemi/iommu.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal.c2
-rw-r--r--arch/powerpc/sysdev/dart_iommu.c2
-rw-r--r--arch/s390/kernel/crash_dump.c2
-rw-r--r--arch/s390/kernel/setup.c3
-rw-r--r--arch/s390/mm/vmem.c4
-rw-r--r--arch/s390/numa/numa.c2
-rw-r--r--arch/sparc/kernel/mdesc.c2
-rw-r--r--arch/sparc/kernel/prom_64.c2
-rw-r--r--arch/sparc/mm/init_64.c11
-rw-r--r--arch/unicore32/mm/mmu.c2
-rw-r--r--arch/x86/mm/numa.c2
-rw-r--r--drivers/firmware/efi/memmap.c2
-rw-r--r--include/linux/memblock.h6
-rw-r--r--mm/memblock.c8
30 files changed, 50 insertions, 51 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index e46a6a446cdd..f5cc1ccfea3d 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -721,7 +721,7 @@ EXPORT_SYMBOL(phys_mem_access_prot);
721 721
722static void __init *early_alloc_aligned(unsigned long sz, unsigned long align) 722static void __init *early_alloc_aligned(unsigned long sz, unsigned long align)
723{ 723{
724 void *ptr = __va(memblock_alloc(sz, align)); 724 void *ptr = __va(memblock_phys_alloc(sz, align));
725 memset(ptr, 0, sz); 725 memset(ptr, 0, sz);
726 return ptr; 726 return ptr;
727} 727}
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 9498c15b847b..394b8d554def 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -101,7 +101,7 @@ static phys_addr_t __init early_pgtable_alloc(void)
101 phys_addr_t phys; 101 phys_addr_t phys;
102 void *ptr; 102 void *ptr;
103 103
104 phys = memblock_alloc(PAGE_SIZE, PAGE_SIZE); 104 phys = memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE);
105 105
106 /* 106 /*
107 * The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE 107 * The FIX_{PGD,PUD,PMD} slots may be in active use, but the FIX_PTE
diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
index d7b66fc5e1c5..c7fb34efd23e 100644
--- a/arch/arm64/mm/numa.c
+++ b/arch/arm64/mm/numa.c
@@ -237,7 +237,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
237 if (start_pfn >= end_pfn) 237 if (start_pfn >= end_pfn)
238 pr_info("Initmem setup node %d [<memory-less node>]\n", nid); 238 pr_info("Initmem setup node %d [<memory-less node>]\n", nid);
239 239
240 nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid); 240 nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
241 nd = __va(nd_pa); 241 nd = __va(nd_pa);
242 242
243 /* report and initialize */ 243 /* report and initialize */
diff --git a/arch/c6x/mm/dma-coherent.c b/arch/c6x/mm/dma-coherent.c
index d0a8e0c4b27e..01305c787201 100644
--- a/arch/c6x/mm/dma-coherent.c
+++ b/arch/c6x/mm/dma-coherent.c
@@ -135,8 +135,8 @@ void __init coherent_mem_init(phys_addr_t start, u32 size)
135 if (dma_size & (PAGE_SIZE - 1)) 135 if (dma_size & (PAGE_SIZE - 1))
136 ++dma_pages; 136 ++dma_pages;
137 137
138 bitmap_phys = memblock_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long), 138 bitmap_phys = memblock_phys_alloc(BITS_TO_LONGS(dma_pages) * sizeof(long),
139 sizeof(long)); 139 sizeof(long));
140 140
141 dma_bitmap = phys_to_virt(bitmap_phys); 141 dma_bitmap = phys_to_virt(bitmap_phys);
142 memset(dma_bitmap, 0, dma_pages * PAGE_SIZE); 142 memset(dma_bitmap, 0, dma_pages * PAGE_SIZE);
diff --git a/arch/nds32/mm/init.c b/arch/nds32/mm/init.c
index c713d2ad55dc..5af81b866aa5 100644
--- a/arch/nds32/mm/init.c
+++ b/arch/nds32/mm/init.c
@@ -81,7 +81,7 @@ static void __init map_ram(void)
81 } 81 }
82 82
83 /* Alloc one page for holding PTE's... */ 83 /* Alloc one page for holding PTE's... */
84 pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 84 pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
85 memset(pte, 0, PAGE_SIZE); 85 memset(pte, 0, PAGE_SIZE);
86 set_pmd(pme, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE)); 86 set_pmd(pme, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
87 87
@@ -114,7 +114,7 @@ static void __init fixedrange_init(void)
114 pgd = swapper_pg_dir + pgd_index(vaddr); 114 pgd = swapper_pg_dir + pgd_index(vaddr);
115 pud = pud_offset(pgd, vaddr); 115 pud = pud_offset(pgd, vaddr);
116 pmd = pmd_offset(pud, vaddr); 116 pmd = pmd_offset(pud, vaddr);
117 fixmap_pmd_p = (pmd_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 117 fixmap_pmd_p = (pmd_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
118 memset(fixmap_pmd_p, 0, PAGE_SIZE); 118 memset(fixmap_pmd_p, 0, PAGE_SIZE);
119 set_pmd(pmd, __pmd(__pa(fixmap_pmd_p) + _PAGE_KERNEL_TABLE)); 119 set_pmd(pmd, __pmd(__pa(fixmap_pmd_p) + _PAGE_KERNEL_TABLE));
120 120
@@ -127,7 +127,7 @@ static void __init fixedrange_init(void)
127 pgd = swapper_pg_dir + pgd_index(vaddr); 127 pgd = swapper_pg_dir + pgd_index(vaddr);
128 pud = pud_offset(pgd, vaddr); 128 pud = pud_offset(pgd, vaddr);
129 pmd = pmd_offset(pud, vaddr); 129 pmd = pmd_offset(pud, vaddr);
130 pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 130 pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
131 memset(pte, 0, PAGE_SIZE); 131 memset(pte, 0, PAGE_SIZE);
132 set_pmd(pmd, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE)); 132 set_pmd(pmd, __pmd(__pa(pte) + _PAGE_KERNEL_TABLE));
133 pkmap_page_table = pte; 133 pkmap_page_table = pte;
@@ -153,7 +153,7 @@ void __init paging_init(void)
153 fixedrange_init(); 153 fixedrange_init();
154 154
155 /* allocate space for empty_zero_page */ 155 /* allocate space for empty_zero_page */
156 zero_page = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 156 zero_page = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
157 memset(zero_page, 0, PAGE_SIZE); 157 memset(zero_page, 0, PAGE_SIZE);
158 zone_sizes_init(); 158 zone_sizes_init();
159 159
diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c
index 6972d5d6f23f..b7670de26c11 100644
--- a/arch/openrisc/mm/init.c
+++ b/arch/openrisc/mm/init.c
@@ -106,7 +106,7 @@ static void __init map_ram(void)
106 } 106 }
107 107
108 /* Alloc one page for holding PTE's... */ 108 /* Alloc one page for holding PTE's... */
109 pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 109 pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
110 set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte))); 110 set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte)));
111 111
112 /* Fill the newly allocated page with PTE'S */ 112 /* Fill the newly allocated page with PTE'S */
diff --git a/arch/openrisc/mm/ioremap.c b/arch/openrisc/mm/ioremap.c
index 2175e4bfd9fc..c9697529b3f0 100644
--- a/arch/openrisc/mm/ioremap.c
+++ b/arch/openrisc/mm/ioremap.c
@@ -126,7 +126,7 @@ pte_t __ref *pte_alloc_one_kernel(struct mm_struct *mm,
126 if (likely(mem_init_done)) { 126 if (likely(mem_init_done)) {
127 pte = (pte_t *) __get_free_page(GFP_KERNEL); 127 pte = (pte_t *) __get_free_page(GFP_KERNEL);
128 } else { 128 } else {
129 pte = (pte_t *) __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 129 pte = (pte_t *) __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
130 } 130 }
131 131
132 if (pte) 132 if (pte)
diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c
index f432054234a4..8be3721d9302 100644
--- a/arch/powerpc/kernel/dt_cpu_ftrs.c
+++ b/arch/powerpc/kernel/dt_cpu_ftrs.c
@@ -1008,9 +1008,7 @@ static int __init dt_cpu_ftrs_scan_callback(unsigned long node, const char
1008 /* Count and allocate space for cpu features */ 1008 /* Count and allocate space for cpu features */
1009 of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes, 1009 of_scan_flat_dt_subnodes(node, count_cpufeatures_subnodes,
1010 &nr_dt_cpu_features); 1010 &nr_dt_cpu_features);
1011 dt_cpu_features = __va( 1011 dt_cpu_features = __va(memblock_phys_alloc(sizeof(struct dt_cpu_feature) * nr_dt_cpu_features, PAGE_SIZE));
1012 memblock_alloc(sizeof(struct dt_cpu_feature)*
1013 nr_dt_cpu_features, PAGE_SIZE));
1014 1012
1015 cpufeatures_setup_start(isa); 1013 cpufeatures_setup_start(isa);
1016 1014
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index 0ee3e6d50f28..f331a0054b3a 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -198,7 +198,7 @@ void __init allocate_paca_ptrs(void)
198 paca_nr_cpu_ids = nr_cpu_ids; 198 paca_nr_cpu_ids = nr_cpu_ids;
199 199
200 paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids; 200 paca_ptrs_size = sizeof(struct paca_struct *) * nr_cpu_ids;
201 paca_ptrs = __va(memblock_alloc(paca_ptrs_size, 0)); 201 paca_ptrs = __va(memblock_phys_alloc(paca_ptrs_size, 0));
202 memset(paca_ptrs, 0x88, paca_ptrs_size); 202 memset(paca_ptrs, 0x88, paca_ptrs_size);
203} 203}
204 204
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
index c4d7078e5295..fe758cedb93f 100644
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
@@ -126,7 +126,7 @@ static void __init move_device_tree(void)
126 if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) || 126 if ((memory_limit && (start + size) > PHYSICAL_START + memory_limit) ||
127 overlaps_crashkernel(start, size) || 127 overlaps_crashkernel(start, size) ||
128 overlaps_initrd(start, size)) { 128 overlaps_initrd(start, size)) {
129 p = __va(memblock_alloc(size, PAGE_SIZE)); 129 p = __va(memblock_phys_alloc(size, PAGE_SIZE));
130 memcpy(p, initial_boot_params, size); 130 memcpy(p, initial_boot_params, size);
131 initial_boot_params = p; 131 initial_boot_params = p;
132 DBG("Moved device tree to 0x%p\n", p); 132 DBG("Moved device tree to 0x%p\n", p);
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 9ca9db707bcb..2b56d1f30387 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -460,8 +460,7 @@ void __init smp_setup_cpu_maps(void)
460 460
461 DBG("smp_setup_cpu_maps()\n"); 461 DBG("smp_setup_cpu_maps()\n");
462 462
463 cpu_to_phys_id = __va(memblock_alloc(nr_cpu_ids * sizeof(u32), 463 cpu_to_phys_id = __va(memblock_phys_alloc(nr_cpu_ids * sizeof(u32), __alignof__(u32)));
464 __alignof__(u32)));
465 memset(cpu_to_phys_id, 0, nr_cpu_ids * sizeof(u32)); 464 memset(cpu_to_phys_id, 0, nr_cpu_ids * sizeof(u32));
466 465
467 for_each_node_by_type(dn, "cpu") { 466 for_each_node_by_type(dn, "cpu") {
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
index 8c507be12c3c..81909600013a 100644
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
@@ -206,9 +206,9 @@ void __init irqstack_early_init(void)
206 * as the memblock is limited to lowmem by default */ 206 * as the memblock is limited to lowmem by default */
207 for_each_possible_cpu(i) { 207 for_each_possible_cpu(i) {
208 softirq_ctx[i] = (struct thread_info *) 208 softirq_ctx[i] = (struct thread_info *)
209 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); 209 __va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
210 hardirq_ctx[i] = (struct thread_info *) 210 hardirq_ctx[i] = (struct thread_info *)
211 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); 211 __va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
212 } 212 }
213} 213}
214 214
@@ -227,12 +227,12 @@ void __init exc_lvl_early_init(void)
227#endif 227#endif
228 228
229 critirq_ctx[hw_cpu] = (struct thread_info *) 229 critirq_ctx[hw_cpu] = (struct thread_info *)
230 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); 230 __va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
231#ifdef CONFIG_BOOKE 231#ifdef CONFIG_BOOKE
232 dbgirq_ctx[hw_cpu] = (struct thread_info *) 232 dbgirq_ctx[hw_cpu] = (struct thread_info *)
233 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); 233 __va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
234 mcheckirq_ctx[hw_cpu] = (struct thread_info *) 234 mcheckirq_ctx[hw_cpu] = (struct thread_info *)
235 __va(memblock_alloc(THREAD_SIZE, THREAD_SIZE)); 235 __va(memblock_phys_alloc(THREAD_SIZE, THREAD_SIZE));
236#endif 236#endif
237 } 237 }
238} 238}
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 693ae1c1acba..f04f15f9d232 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -788,7 +788,7 @@ static void __init setup_node_data(int nid, u64 start_pfn, u64 end_pfn)
788 void *nd; 788 void *nd;
789 int tnid; 789 int tnid;
790 790
791 nd_pa = memblock_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid); 791 nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid);
792 nd = __va(nd_pa); 792 nd = __va(nd_pa);
793 793
794 /* report and initialize */ 794 /* report and initialize */
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c
index 5877f5aa8f5d..bda3c6f1bd32 100644
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
@@ -50,7 +50,7 @@ __ref pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
50 if (slab_is_available()) { 50 if (slab_is_available()) {
51 pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); 51 pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
52 } else { 52 } else {
53 pte = __va(memblock_alloc(PAGE_SIZE, PAGE_SIZE)); 53 pte = __va(memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE));
54 if (pte) 54 if (pte)
55 clear_page(pte); 55 clear_page(pte);
56 } 56 }
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
index 38a793bfca37..f6f575bae3bc 100644
--- a/arch/powerpc/mm/ppc_mmu_32.c
+++ b/arch/powerpc/mm/ppc_mmu_32.c
@@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
224 * Find some memory for the hash table. 224 * Find some memory for the hash table.
225 */ 225 */
226 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322); 226 if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
227 Hash = __va(memblock_alloc(Hash_size, Hash_size)); 227 Hash = __va(memblock_phys_alloc(Hash_size, Hash_size));
228 memset(Hash, 0, Hash_size); 228 memset(Hash, 0, Hash_size);
229 _SDR1 = __pa(Hash) | SDR1_LOW_BITS; 229 _SDR1 = __pa(Hash) | SDR1_LOW_BITS;
230 230
diff --git a/arch/powerpc/platforms/pasemi/iommu.c b/arch/powerpc/platforms/pasemi/iommu.c
index f06c83f321e6..f2971522fb4a 100644
--- a/arch/powerpc/platforms/pasemi/iommu.c
+++ b/arch/powerpc/platforms/pasemi/iommu.c
@@ -213,7 +213,7 @@ static int __init iob_init(struct device_node *dn)
213 pr_info("IOBMAP L2 allocated at: %p\n", iob_l2_base); 213 pr_info("IOBMAP L2 allocated at: %p\n", iob_l2_base);
214 214
215 /* Allocate a spare page to map all invalid IOTLB pages. */ 215 /* Allocate a spare page to map all invalid IOTLB pages. */
216 tmp = memblock_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE); 216 tmp = memblock_phys_alloc(IOBMAP_PAGE_SIZE, IOBMAP_PAGE_SIZE);
217 if (!tmp) 217 if (!tmp)
218 panic("IOBMAP: Cannot allocate spare page!"); 218 panic("IOBMAP: Cannot allocate spare page!");
219 /* Empty l1 is marked invalid */ 219 /* Empty l1 is marked invalid */
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index a4641515956f..beed86f4224b 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -171,7 +171,7 @@ int __init early_init_dt_scan_recoverable_ranges(unsigned long node,
171 /* 171 /*
172 * Allocate a buffer to hold the MC recoverable ranges. 172 * Allocate a buffer to hold the MC recoverable ranges.
173 */ 173 */
174 mc_recoverable_range =__va(memblock_alloc(size, __alignof__(u64))); 174 mc_recoverable_range =__va(memblock_phys_alloc(size, __alignof__(u64)));
175 memset(mc_recoverable_range, 0, size); 175 memset(mc_recoverable_range, 0, size);
176 176
177 for (i = 0; i < mc_recoverable_range_len; i++) { 177 for (i = 0; i < mc_recoverable_range_len; i++) {
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index 5ca3e22d0512..a5b40d1460f1 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -261,7 +261,7 @@ static void allocate_dart(void)
261 * that to work around what looks like a problem with the HT bridge 261 * that to work around what looks like a problem with the HT bridge
262 * prefetching into invalid pages and corrupting data 262 * prefetching into invalid pages and corrupting data
263 */ 263 */
264 tmp = memblock_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE); 264 tmp = memblock_phys_alloc(DART_PAGE_SIZE, DART_PAGE_SIZE);
265 dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) & 265 dart_emptyval = DARTMAP_VALID | ((tmp >> DART_PAGE_SHIFT) &
266 DARTMAP_RPNMASK); 266 DARTMAP_RPNMASK);
267 267
diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
index 376f6b6dfb3c..d17566a8c76f 100644
--- a/arch/s390/kernel/crash_dump.c
+++ b/arch/s390/kernel/crash_dump.c
@@ -61,7 +61,7 @@ struct save_area * __init save_area_alloc(bool is_boot_cpu)
61{ 61{
62 struct save_area *sa; 62 struct save_area *sa;
63 63
64 sa = (void *) memblock_alloc(sizeof(*sa), 8); 64 sa = (void *) memblock_phys_alloc(sizeof(*sa), 8);
65 if (is_boot_cpu) 65 if (is_boot_cpu)
66 list_add(&sa->list, &dump_save_areas); 66 list_add(&sa->list, &dump_save_areas);
67 else 67 else
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index a2e952b66248..204ccfa54bf3 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -967,7 +967,8 @@ static void __init setup_randomness(void)
967{ 967{
968 struct sysinfo_3_2_2 *vmms; 968 struct sysinfo_3_2_2 *vmms;
969 969
970 vmms = (struct sysinfo_3_2_2 *) memblock_alloc(PAGE_SIZE, PAGE_SIZE); 970 vmms = (struct sysinfo_3_2_2 *) memblock_phys_alloc(PAGE_SIZE,
971 PAGE_SIZE);
971 if (stsi(vmms, 3, 2, 2) == 0 && vmms->count) 972 if (stsi(vmms, 3, 2, 2) == 0 && vmms->count)
972 add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count); 973 add_device_randomness(&vmms->vm, sizeof(vmms->vm[0]) * vmms->count);
973 memblock_free((unsigned long) vmms, PAGE_SIZE); 974 memblock_free((unsigned long) vmms, PAGE_SIZE);
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
index db55561c5981..04638b0b9ef1 100644
--- a/arch/s390/mm/vmem.c
+++ b/arch/s390/mm/vmem.c
@@ -36,7 +36,7 @@ static void __ref *vmem_alloc_pages(unsigned int order)
36 36
37 if (slab_is_available()) 37 if (slab_is_available())
38 return (void *)__get_free_pages(GFP_KERNEL, order); 38 return (void *)__get_free_pages(GFP_KERNEL, order);
39 return (void *) memblock_alloc(size, size); 39 return (void *) memblock_phys_alloc(size, size);
40} 40}
41 41
42void *vmem_crst_alloc(unsigned long val) 42void *vmem_crst_alloc(unsigned long val)
@@ -57,7 +57,7 @@ pte_t __ref *vmem_pte_alloc(void)
57 if (slab_is_available()) 57 if (slab_is_available())
58 pte = (pte_t *) page_table_alloc(&init_mm); 58 pte = (pte_t *) page_table_alloc(&init_mm);
59 else 59 else
60 pte = (pte_t *) memblock_alloc(size, size); 60 pte = (pte_t *) memblock_phys_alloc(size, size);
61 if (!pte) 61 if (!pte)
62 return NULL; 62 return NULL;
63 memset64((u64 *)pte, _PAGE_INVALID, PTRS_PER_PTE); 63 memset64((u64 *)pte, _PAGE_INVALID, PTRS_PER_PTE);
diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c
index 5bd374491f94..297f5d8b0890 100644
--- a/arch/s390/numa/numa.c
+++ b/arch/s390/numa/numa.c
@@ -64,7 +64,7 @@ static __init pg_data_t *alloc_node_data(void)
64{ 64{
65 pg_data_t *res; 65 pg_data_t *res;
66 66
67 res = (pg_data_t *) memblock_alloc(sizeof(pg_data_t), 8); 67 res = (pg_data_t *) memblock_phys_alloc(sizeof(pg_data_t), 8);
68 memset(res, 0, sizeof(pg_data_t)); 68 memset(res, 0, sizeof(pg_data_t));
69 return res; 69 return res;
70} 70}
diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c
index 39a2503fa3e1..59131e72ee78 100644
--- a/arch/sparc/kernel/mdesc.c
+++ b/arch/sparc/kernel/mdesc.c
@@ -170,7 +170,7 @@ static struct mdesc_handle * __init mdesc_memblock_alloc(unsigned int mdesc_size
170 mdesc_size); 170 mdesc_size);
171 alloc_size = PAGE_ALIGN(handle_size); 171 alloc_size = PAGE_ALIGN(handle_size);
172 172
173 paddr = memblock_alloc(alloc_size, PAGE_SIZE); 173 paddr = memblock_phys_alloc(alloc_size, PAGE_SIZE);
174 174
175 hp = NULL; 175 hp = NULL;
176 if (paddr) { 176 if (paddr) {
diff --git a/arch/sparc/kernel/prom_64.c b/arch/sparc/kernel/prom_64.c
index baeaeed64993..c37955d127fe 100644
--- a/arch/sparc/kernel/prom_64.c
+++ b/arch/sparc/kernel/prom_64.c
@@ -34,7 +34,7 @@
34 34
35void * __init prom_early_alloc(unsigned long size) 35void * __init prom_early_alloc(unsigned long size)
36{ 36{
37 unsigned long paddr = memblock_alloc(size, SMP_CACHE_BYTES); 37 unsigned long paddr = memblock_phys_alloc(size, SMP_CACHE_BYTES);
38 void *ret; 38 void *ret;
39 39
40 if (!paddr) { 40 if (!paddr) {
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index 39822f611c01..b338f0440f6b 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -1092,7 +1092,8 @@ static void __init allocate_node_data(int nid)
1092#ifdef CONFIG_NEED_MULTIPLE_NODES 1092#ifdef CONFIG_NEED_MULTIPLE_NODES
1093 unsigned long paddr; 1093 unsigned long paddr;
1094 1094
1095 paddr = memblock_alloc_try_nid(sizeof(struct pglist_data), SMP_CACHE_BYTES, nid); 1095 paddr = memblock_phys_alloc_try_nid(sizeof(struct pglist_data),
1096 SMP_CACHE_BYTES, nid);
1096 if (!paddr) { 1097 if (!paddr) {
1097 prom_printf("Cannot allocate pglist_data for nid[%d]\n", nid); 1098 prom_printf("Cannot allocate pglist_data for nid[%d]\n", nid);
1098 prom_halt(); 1099 prom_halt();
@@ -1266,8 +1267,8 @@ static int __init grab_mlgroups(struct mdesc_handle *md)
1266 if (!count) 1267 if (!count)
1267 return -ENOENT; 1268 return -ENOENT;
1268 1269
1269 paddr = memblock_alloc(count * sizeof(struct mdesc_mlgroup), 1270 paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mlgroup),
1270 SMP_CACHE_BYTES); 1271 SMP_CACHE_BYTES);
1271 if (!paddr) 1272 if (!paddr)
1272 return -ENOMEM; 1273 return -ENOMEM;
1273 1274
@@ -1307,8 +1308,8 @@ static int __init grab_mblocks(struct mdesc_handle *md)
1307 if (!count) 1308 if (!count)
1308 return -ENOENT; 1309 return -ENOENT;
1309 1310
1310 paddr = memblock_alloc(count * sizeof(struct mdesc_mblock), 1311 paddr = memblock_phys_alloc(count * sizeof(struct mdesc_mblock),
1311 SMP_CACHE_BYTES); 1312 SMP_CACHE_BYTES);
1312 if (!paddr) 1313 if (!paddr)
1313 return -ENOMEM; 1314 return -ENOMEM;
1314 1315
diff --git a/arch/unicore32/mm/mmu.c b/arch/unicore32/mm/mmu.c
index 0c94b7b4514d..18b355a20f0b 100644
--- a/arch/unicore32/mm/mmu.c
+++ b/arch/unicore32/mm/mmu.c
@@ -144,7 +144,7 @@ static void __init build_mem_type_table(void)
144 144
145static void __init *early_alloc(unsigned long sz) 145static void __init *early_alloc(unsigned long sz)
146{ 146{
147 void *ptr = __va(memblock_alloc(sz, sz)); 147 void *ptr = __va(memblock_phys_alloc(sz, sz));
148 memset(ptr, 0, sz); 148 memset(ptr, 0, sz);
149 return ptr; 149 return ptr;
150} 150}
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c
index fa150855647c..16e37d712ffd 100644
--- a/arch/x86/mm/numa.c
+++ b/arch/x86/mm/numa.c
@@ -196,7 +196,7 @@ static void __init alloc_node_data(int nid)
196 * Allocate node data. Try node-local memory and then any node. 196 * Allocate node data. Try node-local memory and then any node.
197 * Never allocate in DMA zone. 197 * Never allocate in DMA zone.
198 */ 198 */
199 nd_pa = memblock_alloc_nid(nd_size, SMP_CACHE_BYTES, nid); 199 nd_pa = memblock_phys_alloc_nid(nd_size, SMP_CACHE_BYTES, nid);
200 if (!nd_pa) { 200 if (!nd_pa) {
201 nd_pa = __memblock_alloc_base(nd_size, SMP_CACHE_BYTES, 201 nd_pa = __memblock_alloc_base(nd_size, SMP_CACHE_BYTES,
202 MEMBLOCK_ALLOC_ACCESSIBLE); 202 MEMBLOCK_ALLOC_ACCESSIBLE);
diff --git a/drivers/firmware/efi/memmap.c b/drivers/firmware/efi/memmap.c
index 5fc70520e04c..ef618bceb79a 100644
--- a/drivers/firmware/efi/memmap.c
+++ b/drivers/firmware/efi/memmap.c
@@ -15,7 +15,7 @@
15 15
16static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size) 16static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size)
17{ 17{
18 return memblock_alloc(size, 0); 18 return memblock_phys_alloc(size, 0);
19} 19}
20 20
21static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size) 21static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size)
diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 224d27363cca..9d46a7204975 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -300,10 +300,10 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
300} 300}
301#endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */ 301#endif /* CONFIG_HAVE_MEMBLOCK_NODE_MAP */
302 302
303phys_addr_t memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid); 303phys_addr_t memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid);
304phys_addr_t memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid); 304phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid);
305 305
306phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align); 306phys_addr_t memblock_phys_alloc(phys_addr_t size, phys_addr_t align);
307 307
308/* 308/*
309 * Set the allocation direction to bottom-up or top-down. 309 * Set the allocation direction to bottom-up or top-down.
diff --git a/mm/memblock.c b/mm/memblock.c
index d6897fbe021f..20358374e8a8 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1269,7 +1269,7 @@ phys_addr_t __init memblock_alloc_base_nid(phys_addr_t size,
1269 return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags); 1269 return memblock_alloc_range_nid(size, align, 0, max_addr, nid, flags);
1270} 1270}
1271 1271
1272phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid) 1272phys_addr_t __init memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid)
1273{ 1273{
1274 enum memblock_flags flags = choose_memblock_flags(); 1274 enum memblock_flags flags = choose_memblock_flags();
1275 phys_addr_t ret; 1275 phys_addr_t ret;
@@ -1304,14 +1304,14 @@ phys_addr_t __init memblock_alloc_base(phys_addr_t size, phys_addr_t align, phys
1304 return alloc; 1304 return alloc;
1305} 1305}
1306 1306
1307phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align) 1307phys_addr_t __init memblock_phys_alloc(phys_addr_t size, phys_addr_t align)
1308{ 1308{
1309 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE); 1309 return memblock_alloc_base(size, align, MEMBLOCK_ALLOC_ACCESSIBLE);
1310} 1310}
1311 1311
1312phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid) 1312phys_addr_t __init memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid)
1313{ 1313{
1314 phys_addr_t res = memblock_alloc_nid(size, align, nid); 1314 phys_addr_t res = memblock_phys_alloc_nid(size, align, nid);
1315 1315
1316 if (res) 1316 if (res)
1317 return res; 1317 return res;