]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
powerpc/mm: add radix__create_section_mapping()
authorReza Arbab <arbab@linux.vnet.ibm.com>
Mon, 16 Jan 2017 19:07:44 +0000 (13:07 -0600)
committerSeth Forshee <seth.forshee@canonical.com>
Fri, 24 Feb 2017 20:22:08 +0000 (14:22 -0600)
BugLink: http://bugs.launchpad.net/bugs/1667081
Wire up memory hotplug page mapping for radix. Share the mapping
function already used by radix_init_pgtable().

Signed-off-by: Reza Arbab <arbab@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 6cc27341b21a81052f36c137bc44cf55f83e46ff)
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
arch/powerpc/include/asm/book3s/64/radix.h
arch/powerpc/mm/pgtable-book3s64.c
arch/powerpc/mm/pgtable-radix.c

index 77e590c77299a9445bed8ba598da4e090def4112..8859930e428f6ea8db63cb8b081404c1e4524bff 100644 (file)
@@ -303,5 +303,9 @@ static inline unsigned long radix__get_tree_size(void)
        }
        return rts_field;
 }
+
+#ifdef CONFIG_MEMORY_HOTPLUG
+int radix__create_section_mapping(unsigned long start, unsigned long end);
+#endif /* CONFIG_MEMORY_HOTPLUG */
 #endif /* __ASSEMBLY__ */
 #endif
index 653ff6c74ebe3d112ed13a70006032d3e7a5dd23..2b13f6b87e2507f639e56f655e61fd13d004092b 100644 (file)
@@ -131,7 +131,7 @@ void mmu_cleanup_all(void)
 int create_section_mapping(unsigned long start, unsigned long end)
 {
        if (radix_enabled())
-               return -ENODEV;
+               return radix__create_section_mapping(start, end);
 
        return hash__create_section_mapping(start, end);
 }
index 5adeef7f8bdcc69ed4248a7586396bced77a4d50..a83f5f95f9d370ca00a2eee92834774798cb7f1e 100644 (file)
@@ -481,6 +481,13 @@ void radix__setup_initial_memory_limit(phys_addr_t first_memblock_base,
        memblock_set_current_limit(first_memblock_base + first_memblock_size);
 }
 
+#ifdef CONFIG_MEMORY_HOTPLUG
+int __ref radix__create_section_mapping(unsigned long start, unsigned long end)
+{
+       return create_physical_mapping(start, end);
+}
+#endif /* CONFIG_MEMORY_HOTPLUG */
+
 #ifdef CONFIG_SPARSEMEM_VMEMMAP
 int __meminit radix__vmemmap_create_mapping(unsigned long start,
                                      unsigned long page_size,