powerpc: Use RCU based pte freeing mechanism for all powerpc
Refactor the RCU based pte free code that was used on ppc64 to be used on all powerpc. Additionally refactor pte_free() & pte_free_kernel() into common code between ppc32 & ppc64. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
df3b861155
commit
0186f47e70
@ -48,10 +48,6 @@ EXPORT_SYMBOL(ioremap_bot); /* aka VMALLOC_END */
|
||||
|
||||
extern char etext[], _stext[];
|
||||
|
||||
#if defined(CONFIG_SMP) && defined(CONFIG_PPC_STD_MMU_32)
|
||||
extern void hash_page_sync(void);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_BATS
|
||||
extern phys_addr_t v_mapped_by_bats(unsigned long va);
|
||||
extern unsigned long p_mapped_by_bats(phys_addr_t pa);
|
||||
@ -125,23 +121,6 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address)
|
||||
return ptepage;
|
||||
}
|
||||
|
||||
void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
|
||||
{
|
||||
#if defined(CONFIG_SMP) && defined(CONFIG_PPC_STD_MMU_32)
|
||||
hash_page_sync();
|
||||
#endif
|
||||
free_page((unsigned long)pte);
|
||||
}
|
||||
|
||||
void pte_free(struct mm_struct *mm, pgtable_t ptepage)
|
||||
{
|
||||
#if defined(CONFIG_SMP) && defined(CONFIG_PPC_STD_MMU_32)
|
||||
hash_page_sync();
|
||||
#endif
|
||||
pgtable_page_dtor(ptepage);
|
||||
__free_page(ptepage);
|
||||
}
|
||||
|
||||
void __iomem *
|
||||
ioremap(phys_addr_t addr, unsigned long size)
|
||||
{
|
||||
|
Reference in New Issue
Block a user