Messages in this thread Patch in this message | | | From | Jianwen Jiang <> | Subject | [PATCH] riscv: Implement ioremap_prot support | Date | Wed, 16 Nov 2022 10:57:09 +0800 |
| |
Feature ioremap_prot only needs an implementation of pte_pgprot on riscv. That macro is similar on platform loongarch, mips and sh. We just need to replace _PFN_MASK with _PAGE_PFN_MASK, and select HAVE_IOREMAP_PROT in arch/riscv/Kconfig.
Signed-off-by: Jianwen Jiang <jiangjianwen@uniontech.com> --- arch/riscv/Kconfig | 1 + arch/riscv/include/asm/page.h | 2 ++ 2 files changed, 3 insertions(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index fa78595a6089..5ed2c7361040 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -95,6 +95,7 @@ config RISCV select HAVE_FUNCTION_ERROR_INJECTION select HAVE_GCC_PLUGINS select HAVE_GENERIC_VDSO if MMU && 64BIT + select HAVE_IOREMAP_PROT select HAVE_IRQ_TIME_ACCOUNTING select HAVE_KPROBES if !XIP_KERNEL select HAVE_KPROBES_ON_FTRACE if !XIP_KERNEL diff --git a/arch/riscv/include/asm/page.h b/arch/riscv/include/asm/page.h index ac70b0fd9a9a..d379b4702849 100644 --- a/arch/riscv/include/asm/page.h +++ b/arch/riscv/include/asm/page.h @@ -84,6 +84,8 @@ typedef struct page *pgtable_t; #define __pgd(x) ((pgd_t) { (x) }) #define __pgprot(x) ((pgprot_t) { (x) }) +#define pte_pgprot(x) __pgprot(pte_val(x) & ~_PAGE_PFN_MASK) + #ifdef CONFIG_64BIT #define PTE_FMT "%016lx" #else -- 2.37.3.446.gd42b38dfb5
| |