Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / include / asm / pgtable.h
index 4c445057169d47502543d4bd72ba78b6e02b310c..cf1d9c86f20a3d48aeebb2cf4f25b48ccc047724 100644 (file)
@@ -263,6 +263,11 @@ static inline pmd_t pte_pmd(pte_t pte)
        return __pmd(pte_val(pte));
 }
 
+static inline pgprot_t mk_sect_prot(pgprot_t prot)
+{
+       return __pgprot(pgprot_val(prot) & ~PTE_TABLE_BIT);
+}
+
 /*
  * THP definitions.
  */
@@ -336,9 +341,12 @@ extern pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
 
 #ifdef CONFIG_ARM64_64K_PAGES
 #define pud_sect(pud)          (0)
+#define pud_table(pud)         (1)
 #else
 #define pud_sect(pud)          ((pud_val(pud) & PUD_TYPE_MASK) == \
                                 PUD_TYPE_SECT)
+#define pud_table(pud)         ((pud_val(pud) & PUD_TYPE_MASK) == \
+                                PUD_TYPE_TABLE)
 #endif
 
 static inline void set_pmd(pmd_t *pmdp, pmd_t pmd)