]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
powerpc/mm: Add mask of always present MMU features
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Thu, 22 Oct 2020 06:29:27 +0000 (06:29 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 9 Dec 2020 05:45:08 +0000 (16:45 +1100)
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
arch/powerpc/include/asm/mmu.h

index 620e8fe6f8fd5671df7da0e069e7e4a4af2c7c8a..ebf50286a924763f354466ca6ad425c0aa2d22ee 100644 (file)
@@ -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;