aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/mm/init_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/mm/init_64.c')
-rw-r--r--arch/powerpc/mm/init_64.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c
index fa5d28b4e726..69203c8afb51 100644
--- a/arch/powerpc/mm/init_64.c
+++ b/arch/powerpc/mm/init_64.c
@@ -212,6 +212,13 @@ static void __meminit vmemmap_create_mapping(unsigned long start,
212 for (i = 0; i < page_size; i += PAGE_SIZE) 212 for (i = 0; i < page_size; i += PAGE_SIZE)
213 BUG_ON(map_kernel_page(start + i, phys, flags)); 213 BUG_ON(map_kernel_page(start + i, phys, flags));
214} 214}
215
216#ifdef CONFIG_MEMORY_HOTPLUG
217static void vmemmap_remove_mapping(unsigned long start,
218 unsigned long page_size)
219{
220}
221#endif
215#else /* CONFIG_PPC_BOOK3E */ 222#else /* CONFIG_PPC_BOOK3E */
216static void __meminit vmemmap_create_mapping(unsigned long start, 223static void __meminit vmemmap_create_mapping(unsigned long start,
217 unsigned long page_size, 224 unsigned long page_size,
@@ -223,6 +230,21 @@ static void __meminit vmemmap_create_mapping(unsigned long start,
223 mmu_kernel_ssize); 230 mmu_kernel_ssize);
224 BUG_ON(mapped < 0); 231 BUG_ON(mapped < 0);
225} 232}
233
234#ifdef CONFIG_MEMORY_HOTPLUG
235extern int htab_remove_mapping(unsigned long vstart, unsigned long vend,
236 int psize, int ssize);
237
238static void vmemmap_remove_mapping(unsigned long start,
239 unsigned long page_size)
240{
241 int mapped = htab_remove_mapping(start, start + page_size,
242 mmu_vmemmap_psize,
243 mmu_kernel_ssize);
244 BUG_ON(mapped < 0);
245}
246#endif
247
226#endif /* CONFIG_PPC_BOOK3E */ 248#endif /* CONFIG_PPC_BOOK3E */
227 249
228struct vmemmap_backing *vmemmap_list; 250struct vmemmap_backing *vmemmap_list;