diff options
author | Nanyong Sun <sunnanyong@huawei.com> | 2021-04-30 10:28:47 +0200 |
---|---|---|
committer | Palmer Dabbelt <palmerdabbelt@google.com> | 2021-05-22 19:19:29 +0200 |
commit | f5397c3ee0a3e2ca0a6d66d079ffcd5386b45b81 (patch) | |
tree | 8372806f05bfd2b3cca7a2eef002302e0c3f04c8 /arch/riscv/include/asm/pgtable-bits.h | |
parent | Linux 5.13-rc1 (diff) | |
download | linux-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.h | 5 |
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 */ |