This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 5c29042ab4b673319f7bc717be2dd55e68f88b57 Author: Ville Juven <ville.ju...@unikie.com> AuthorDate: Wed Nov 16 14:34:43 2022 +0200 riscv/mmu: Implement mmu_ln_clear Implement procedure to clear a mapping from MMU --- arch/risc-v/src/common/riscv_mmu.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/risc-v/src/common/riscv_mmu.h b/arch/risc-v/src/common/riscv_mmu.h index e67fadc276..fb0847ccf2 100644 --- a/arch/risc-v/src/common/riscv_mmu.h +++ b/arch/risc-v/src/common/riscv_mmu.h @@ -363,6 +363,25 @@ uintptr_t mmu_ln_getentry(uint32_t ptlevel, uintptr_t lnvaddr, void mmu_ln_restore(uint32_t ptlevel, uintptr_t lnvaddr, uintptr_t vaddr, uintptr_t entry); +/**************************************************************************** + * Name: mmu_ln_clear + * + * Description: + * Unmap a level n translation table entry. + * + * Input Parameters: + * ptlevel - The translation table level, amount of levels is + * MMU implementation specific + * lnvaddr - The virtual address of the beginning of the page table at + * level n + * vaddr - The virtual address to get pte for. Must be aligned to a PPN + * address boundary which is dependent on the level of the entry + * + ****************************************************************************/ + +#define mmu_ln_clear(ptlevel, lnvaddr, vaddr) \ + mmu_ln_restore(ptlevel, lnvaddr, vaddr, 0) + /**************************************************************************** * Name: mmu_ln_map_region *