powerpc/mm/radix: Add radix callbacks for vmemmap and map_kernel page()
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
31a14fae92
commit
d9225ad923
@@ -725,6 +725,13 @@ void pgtable_cache_init(void);
|
||||
static inline int map_kernel_page(unsigned long ea, unsigned long pa,
|
||||
unsigned long flags)
|
||||
{
|
||||
if (radix_enabled()) {
|
||||
#if defined(CONFIG_PPC_RADIX_MMU) && defined(DEBUG_VM)
|
||||
unsigned long page_size = 1 << mmu_psize_defs[mmu_io_psize].shift;
|
||||
WARN((page_size != PAGE_SIZE), "I/O page size != PAGE_SIZE");
|
||||
#endif
|
||||
return radix__map_kernel_page(ea, pa, __pgprot(flags), PAGE_SIZE);
|
||||
}
|
||||
return hash__map_kernel_page(ea, pa, flags);
|
||||
}
|
||||
|
||||
@@ -732,6 +739,8 @@ static inline int __meminit vmemmap_create_mapping(unsigned long start,
|
||||
unsigned long page_size,
|
||||
unsigned long phys)
|
||||
{
|
||||
if (radix_enabled())
|
||||
return radix__vmemmap_create_mapping(start, page_size, phys);
|
||||
return hash__vmemmap_create_mapping(start, page_size, phys);
|
||||
}
|
||||
|
||||
@@ -739,6 +748,9 @@ static inline int __meminit vmemmap_create_mapping(unsigned long start,
|
||||
static inline void vmemmap_remove_mapping(unsigned long start,
|
||||
unsigned long page_size)
|
||||
{
|
||||
|
||||
if (radix_enabled())
|
||||
return radix__vmemmap_remove_mapping(start, page_size);
|
||||
return hash__vmemmap_remove_mapping(start, page_size);
|
||||
}
|
||||
#endif
|
||||
|
@@ -130,6 +130,12 @@ static inline int radix__pmd_trans_huge(pmd_t pmd)
|
||||
|
||||
#endif
|
||||
|
||||
extern int __meminit radix__vmemmap_create_mapping(unsigned long start,
|
||||
unsigned long page_size,
|
||||
unsigned long phys);
|
||||
extern void radix__vmemmap_remove_mapping(unsigned long start,
|
||||
unsigned long page_size);
|
||||
|
||||
extern int radix__map_kernel_page(unsigned long ea, unsigned long pa,
|
||||
pgprot_t flags, unsigned int psz);
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
Reference in New Issue
Block a user