diff options
author | Mike Rapoport <rppt@linux.vnet.ibm.com> | 2018-10-30 18:07:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-31 11:54:15 -0400 |
commit | 9a8dd708d547268c899f1cb443c49bd4d8c84eb3 (patch) | |
tree | f055a4a6947fbff66be1c6a506054812be74b4a9 | |
parent | b146ada221c178a384fee2a8e2e5b2e8a04476b1 (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>
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 | ||
722 | static void __init *early_alloc_aligned(unsigned long sz, unsigned long align) | 722 | static 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 | ||
42 | void *vmem_crst_alloc(unsigned long val) | 42 | void *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 | ||
35 | void * __init prom_early_alloc(unsigned long size) | 35 | void * __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 | ||
145 | static void __init *early_alloc(unsigned long sz) | 145 | static 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 | ||
16 | static phys_addr_t __init __efi_memmap_alloc_early(unsigned long size) | 16 | static 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 | ||
21 | static phys_addr_t __init __efi_memmap_alloc_late(unsigned long size) | 21 | static 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 | ||
303 | phys_addr_t memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid); | 303 | phys_addr_t memblock_phys_alloc_nid(phys_addr_t size, phys_addr_t align, int nid); |
304 | phys_addr_t memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid); | 304 | phys_addr_t memblock_phys_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid); |
305 | 305 | ||
306 | phys_addr_t memblock_alloc(phys_addr_t size, phys_addr_t align); | 306 | phys_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 | ||
1272 | phys_addr_t __init memblock_alloc_nid(phys_addr_t size, phys_addr_t align, int nid) | 1272 | phys_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 | ||
1307 | phys_addr_t __init memblock_alloc(phys_addr_t size, phys_addr_t align) | 1307 | phys_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 | ||
1312 | phys_addr_t __init memblock_alloc_try_nid(phys_addr_t size, phys_addr_t align, int nid) | 1312 | phys_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; |