[PATCH 2/3] arm64: simplify pmd_special and pmd_mkspecial
Jinjiang Tu
tujinjiang at huawei.com
Wed Sep 9 02:00:17 PDT 2026
Use pte_special() and pte_mkspecial() helper to simplify pmd_special()
and pmd_mkspecial(), and kill unused set_pmd_bit() and clear_pmd_bit()
helper.
Signed-off-by: Jinjiang Tu <tujinjiang at huawei.com>
---
arch/arm64/include/asm/pgtable.h | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h
index 6000905a2e86..427ea3d2bac7 100644
--- a/arch/arm64/include/asm/pgtable.h
+++ b/arch/arm64/include/asm/pgtable.h
@@ -243,18 +243,6 @@ static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot)
return pte;
}
-static inline pmd_t clear_pmd_bit(pmd_t pmd, pgprot_t prot)
-{
- pmd_val(pmd) &= ~pgprot_val(prot);
- return pmd;
-}
-
-static inline pmd_t set_pmd_bit(pmd_t pmd, pgprot_t prot)
-{
- pmd_val(pmd) |= pgprot_val(prot);
- return pmd;
-}
-
static inline pte_t pte_mkwrite_novma(pte_t pte)
{
pte = set_pte_bit(pte, __pgprot(PTE_WRITE));
@@ -619,11 +607,8 @@ static inline pmd_t pmd_mkhuge(pmd_t pmd)
}
#ifdef CONFIG_ARCH_SUPPORTS_PMD_PFNMAP
-#define pmd_special(pte) (!!((pmd_val(pte) & PTE_SPECIAL)))
-static inline pmd_t pmd_mkspecial(pmd_t pmd)
-{
- return set_pmd_bit(pmd, __pgprot(PTE_SPECIAL));
-}
+#define pmd_special(pmd) pte_special(pmd_pte(pmd))
+#define pmd_mkspecial(pmd) pte_pmd(pte_mkspecial(pmd_pte(pmd)))
#endif
#define __pmd_to_phys(pmd) __pte_to_phys(pmd_pte(pmd))
--
2.43.0
More information about the linux-arm-kernel
mailing list