summaryrefslogtreecommitdiffstats
path: root/arch/riscv/include/asm/pgtable-bits.h
diff options
context:
space:
mode:
authorNanyong Sun <sunnanyong@huawei.com>2021-04-30 10:28:47 +0200
committerPalmer Dabbelt <palmerdabbelt@google.com>2021-05-22 19:19:29 +0200
commitf5397c3ee0a3e2ca0a6d66d079ffcd5386b45b81 (patch)
tree8372806f05bfd2b3cca7a2eef002302e0c3f04c8 /arch/riscv/include/asm/pgtable-bits.h
parentLinux 5.13-rc1 (diff)
downloadlinux-f5397c3ee0a3e2ca0a6d66d079ffcd5386b45b81.tar.xz
linux-f5397c3ee0a3e2ca0a6d66d079ffcd5386b45b81.zip
riscv: mm: add _PAGE_LEAF macro
In riscv, a page table entry is leaf when any bit of read, write, or execute bit is set. So add a macro:_PAGE_LEAF instead of (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC), which is frequently used to determine if it is a leaf page. This make code easier to read, without any functional change. Signed-off-by: Nanyong Sun <sunnanyong@huawei.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Diffstat (limited to 'arch/riscv/include/asm/pgtable-bits.h')
-rw-r--r--arch/riscv/include/asm/pgtable-bits.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/pgtable-bits.h b/arch/riscv/include/asm/pgtable-bits.h
index bbaeb5d35842..2ee413912926 100644
--- a/arch/riscv/include/asm/pgtable-bits.h
+++ b/arch/riscv/include/asm/pgtable-bits.h
@@ -39,5 +39,10 @@
#define _PAGE_CHG_MASK (~(unsigned long)(_PAGE_PRESENT | _PAGE_READ | \
_PAGE_WRITE | _PAGE_EXEC | \
_PAGE_USER | _PAGE_GLOBAL))
+/*
+ * when all of R/W/X are zero, the PTE is a pointer to the next level
+ * of the page table; otherwise, it is a leaf PTE.
+ */
+#define _PAGE_LEAF (_PAGE_READ | _PAGE_WRITE | _PAGE_EXEC)
#endif /* _ASM_RISCV_PGTABLE_BITS_H */