powerpc/32s: Inline tlb_flush()
On book3s/32, tlb_flush() does nothing when the CPU has a hash table, it calls _tlbia() otherwise. Inline it. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/ebc933d1c530a19ef3cf7983f6ae94814f6e92ac.1603348103.git.christophe.leroy@csgroup.eu
This commit is contained in:
Родитель
91ec450f8d
Коммит
ef08d95546
|
@ -20,6 +20,17 @@ static inline void _tlbie(unsigned long address)
|
|||
#endif
|
||||
void _tlbia(void);
|
||||
|
||||
/*
|
||||
* Called at the end of a mmu_gather operation to make sure the
|
||||
* TLB flush is completely done.
|
||||
*/
|
||||
static inline void tlb_flush(struct mmu_gather *tlb)
|
||||
{
|
||||
/* 603 needs to flush the whole TLB here since it doesn't use a hash table. */
|
||||
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE))
|
||||
_tlbia();
|
||||
}
|
||||
|
||||
static inline void flush_range(struct mm_struct *mm, unsigned long start, unsigned long end)
|
||||
{
|
||||
start &= PAGE_MASK;
|
||||
|
|
|
@ -43,21 +43,6 @@ void flush_hash_entry(struct mm_struct *mm, pte_t *ptep, unsigned long addr)
|
|||
}
|
||||
EXPORT_SYMBOL(flush_hash_entry);
|
||||
|
||||
/*
|
||||
* Called at the end of a mmu_gather operation to make sure the
|
||||
* TLB flush is completely done.
|
||||
*/
|
||||
void tlb_flush(struct mmu_gather *tlb)
|
||||
{
|
||||
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE)) {
|
||||
/*
|
||||
* 603 needs to flush the whole TLB here since
|
||||
* it doesn't use a hash table.
|
||||
*/
|
||||
_tlbia();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* TLB flushing:
|
||||
*
|
||||
|
|
Загрузка…
Ссылка в новой задаче