powerpc/mm: Add mask of always present MMU features
On the same principle as commit 773edeadf672 ("powerpc/mm: Add mask of possible MMU features"), add mask for MMU features that are always there in order to optimise out dead branches. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/4943775fbe91885eb3e09133b093aaf62e55c715.1603348103.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
f10881a46f
commit
f9158d58a4
@ -206,8 +206,30 @@ enum {
|
|||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef CONFIG_PPC_8xx
|
||||||
|
#define MMU_FTRS_ALWAYS MMU_FTR_TYPE_8xx
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_40x
|
||||||
|
#define MMU_FTRS_ALWAYS MMU_FTR_TYPE_40x
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_PPC_47x
|
||||||
|
#define MMU_FTRS_ALWAYS MMU_FTR_TYPE_47x
|
||||||
|
#elif defined(CONFIG_44x)
|
||||||
|
#define MMU_FTRS_ALWAYS MMU_FTR_TYPE_44x
|
||||||
|
#endif
|
||||||
|
#if defined(CONFIG_E200) || defined(CONFIG_E500)
|
||||||
|
#define MMU_FTRS_ALWAYS MMU_FTR_TYPE_FSL_E
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MMU_FTRS_ALWAYS
|
||||||
|
#define MMU_FTRS_ALWAYS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
static inline bool early_mmu_has_feature(unsigned long feature)
|
static inline bool early_mmu_has_feature(unsigned long feature)
|
||||||
{
|
{
|
||||||
|
if (MMU_FTRS_ALWAYS & feature)
|
||||||
|
return true;
|
||||||
|
|
||||||
return !!(MMU_FTRS_POSSIBLE & cur_cpu_spec->mmu_features & feature);
|
return !!(MMU_FTRS_POSSIBLE & cur_cpu_spec->mmu_features & feature);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,6 +258,9 @@ static __always_inline bool mmu_has_feature(unsigned long feature)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (MMU_FTRS_ALWAYS & feature)
|
||||||
|
return true;
|
||||||
|
|
||||||
if (!(MMU_FTRS_POSSIBLE & feature))
|
if (!(MMU_FTRS_POSSIBLE & feature))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user