mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 16:29:05 +00:00
powerpc/mm: Abstract early MMU init in preparation for radix
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:
parent
6cc1a0ee4c
commit
756d08d1ba
@ -97,5 +97,25 @@ extern int mmu_vmalloc_psize;
|
||||
extern int mmu_vmemmap_psize;
|
||||
extern int mmu_io_psize;
|
||||
|
||||
/* MMU initialization */
|
||||
extern void hash__early_init_mmu(void);
|
||||
static inline void early_init_mmu(void)
|
||||
{
|
||||
return hash__early_init_mmu();
|
||||
}
|
||||
extern void hash__early_init_mmu_secondary(void);
|
||||
static inline void early_init_mmu_secondary(void)
|
||||
{
|
||||
return hash__early_init_mmu_secondary();
|
||||
}
|
||||
|
||||
extern void hash__setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
phys_addr_t first_memblock_size);
|
||||
static inline void setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
phys_addr_t first_memblock_size)
|
||||
{
|
||||
return hash__setup_initial_memory_limit(first_memblock_base,
|
||||
first_memblock_size);
|
||||
}
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* _ASM_POWERPC_BOOK3S_64_MMU_H_ */
|
||||
|
@ -122,13 +122,6 @@ static inline void mmu_clear_feature(unsigned long feature)
|
||||
|
||||
extern unsigned int __start___mmu_ftr_fixup, __stop___mmu_ftr_fixup;
|
||||
|
||||
/* MMU initialization */
|
||||
extern void early_init_mmu(void);
|
||||
extern void early_init_mmu_secondary(void);
|
||||
|
||||
extern void setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
phys_addr_t first_memblock_size);
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
/* This is our real memory area size on ppc64 server, on embedded, we
|
||||
* make it match the size our of bolted TLB area
|
||||
@ -185,6 +178,13 @@ static inline void assert_pte_locked(struct mm_struct *mm, unsigned long addr)
|
||||
#include <asm/book3s/64/mmu.h>
|
||||
#else /* CONFIG_PPC_BOOK3S_64 */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* MMU initialization */
|
||||
extern void early_init_mmu(void);
|
||||
extern void early_init_mmu_secondary(void);
|
||||
extern void setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
phys_addr_t first_memblock_size);
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PPC_STD_MMU_32)
|
||||
|
@ -868,7 +868,7 @@ static void __init htab_initialize(void)
|
||||
#undef KB
|
||||
#undef MB
|
||||
|
||||
void __init early_init_mmu(void)
|
||||
void __init hash__early_init_mmu(void)
|
||||
{
|
||||
/*
|
||||
* initialize page table size
|
||||
@ -893,7 +893,7 @@ void __init early_init_mmu(void)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
void early_init_mmu_secondary(void)
|
||||
void hash__early_init_mmu_secondary(void)
|
||||
{
|
||||
/* Initialize hash table for that CPU */
|
||||
if (!firmware_has_feature(FW_FEATURE_LPAR))
|
||||
@ -1635,7 +1635,7 @@ void __kernel_map_pages(struct page *page, int numpages, int enable)
|
||||
}
|
||||
#endif /* CONFIG_DEBUG_PAGEALLOC */
|
||||
|
||||
void setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
void hash__setup_initial_memory_limit(phys_addr_t first_memblock_base,
|
||||
phys_addr_t first_memblock_size)
|
||||
{
|
||||
/* We don't currently support the first MEMBLOCK not mapping 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user