Commit f9158d58 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/mm: Add mask of always present MMU features



On the same principle as commit 773edead ("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: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/4943775fbe91885eb3e09133b093aaf62e55c715.1603348103.git.christophe.leroy@csgroup.eu
parent f10881a4
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -206,8 +206,30 @@ enum {
		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)
{
	if (MMU_FTRS_ALWAYS & feature)
		return true;

	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

	if (MMU_FTRS_ALWAYS & feature)
		return true;

	if (!(MMU_FTRS_POSSIBLE & feature))
		return false;