Message ID | 1402475019-19699-2-git-send-email-zhong@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On 06/11/2014 03:23 AM, Li Zhong wrote: > This is to be called in vmemmap_free(), leave the implementation on BOOK3E > empty as before. > > Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com> > Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com> Acked-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> > --- > arch/powerpc/mm/hash_utils_64.c | 2 +- > arch/powerpc/mm/init_64.c | 22 ++++++++++++++++++++++ > 2 files changed, 23 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c > index 88fdd9d..25d9d66 100644 > --- a/arch/powerpc/mm/hash_utils_64.c > +++ b/arch/powerpc/mm/hash_utils_64.c > @@ -243,7 +243,7 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend, > } > > #ifdef CONFIG_MEMORY_HOTPLUG > -static int htab_remove_mapping(unsigned long vstart, unsigned long vend, > +int htab_remove_mapping(unsigned long vstart, unsigned long vend, > int psize, int ssize) > { > unsigned long vaddr; > diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c > index fa5d28b..69203c8 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, > for (i = 0; i < page_size; i += PAGE_SIZE) > BUG_ON(map_kernel_page(start + i, phys, flags)); > } > + > +#ifdef CONFIG_MEMORY_HOTPLUG > +static void vmemmap_remove_mapping(unsigned long start, > + unsigned long page_size) > +{ > +} > +#endif > #else /* CONFIG_PPC_BOOK3E */ > static void __meminit vmemmap_create_mapping(unsigned long start, > unsigned long page_size, > @@ -223,6 +230,21 @@ static void __meminit vmemmap_create_mapping(unsigned long start, > mmu_kernel_ssize); > BUG_ON(mapped < 0); > } > + > +#ifdef CONFIG_MEMORY_HOTPLUG > +extern int htab_remove_mapping(unsigned long vstart, unsigned long vend, > + int psize, int ssize); > + > +static void vmemmap_remove_mapping(unsigned long start, > + unsigned long page_size) > +{ > + int mapped = htab_remove_mapping(start, start + page_size, > + mmu_vmemmap_psize, > + mmu_kernel_ssize); > + BUG_ON(mapped < 0); > +} > +#endif > + > #endif /* CONFIG_PPC_BOOK3E */ > > struct vmemmap_backing *vmemmap_list; >
diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c index 88fdd9d..25d9d66 100644 --- a/arch/powerpc/mm/hash_utils_64.c +++ b/arch/powerpc/mm/hash_utils_64.c @@ -243,7 +243,7 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend, } #ifdef CONFIG_MEMORY_HOTPLUG -static int htab_remove_mapping(unsigned long vstart, unsigned long vend, +int htab_remove_mapping(unsigned long vstart, unsigned long vend, int psize, int ssize) { unsigned long vaddr; diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index fa5d28b..69203c8 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, for (i = 0; i < page_size; i += PAGE_SIZE) BUG_ON(map_kernel_page(start + i, phys, flags)); } + +#ifdef CONFIG_MEMORY_HOTPLUG +static void vmemmap_remove_mapping(unsigned long start, + unsigned long page_size) +{ +} +#endif #else /* CONFIG_PPC_BOOK3E */ static void __meminit vmemmap_create_mapping(unsigned long start, unsigned long page_size, @@ -223,6 +230,21 @@ static void __meminit vmemmap_create_mapping(unsigned long start, mmu_kernel_ssize); BUG_ON(mapped < 0); } + +#ifdef CONFIG_MEMORY_HOTPLUG +extern int htab_remove_mapping(unsigned long vstart, unsigned long vend, + int psize, int ssize); + +static void vmemmap_remove_mapping(unsigned long start, + unsigned long page_size) +{ + int mapped = htab_remove_mapping(start, start + page_size, + mmu_vmemmap_psize, + mmu_kernel_ssize); + BUG_ON(mapped < 0); +} +#endif + #endif /* CONFIG_PPC_BOOK3E */ struct vmemmap_backing *vmemmap_list;
This is to be called in vmemmap_free(), leave the implementation on BOOK3E empty as before. Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com> Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com> --- arch/powerpc/mm/hash_utils_64.c | 2 +- arch/powerpc/mm/init_64.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-)