You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/04/28 18:02:26 UTC

[incubator-nuttx] 04/05: RISC-V: Move wipe_page to pgalloc.h and rename it riscv_pgwipe

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 0ccda05a82a59066a9d586a96c6accaf2053f0cc
Author: Ville Juven <vi...@unikie.com>
AuthorDate: Tue Apr 19 14:39:04 2022 +0300

    RISC-V: Move wipe_page to pgalloc.h and rename it riscv_pgwipe
---
 arch/risc-v/src/common/pgalloc.h       | 17 +++++++++++++++++
 arch/risc-v/src/common/riscv_addrenv.c | 23 +++--------------------
 arch/risc-v/src/common/riscv_pgalloc.c | 21 ++-------------------
 3 files changed, 22 insertions(+), 39 deletions(-)

diff --git a/arch/risc-v/src/common/pgalloc.h b/arch/risc-v/src/common/pgalloc.h
index 25d94af02d..db31a247aa 100644
--- a/arch/risc-v/src/common/pgalloc.h
+++ b/arch/risc-v/src/common/pgalloc.h
@@ -78,5 +78,22 @@ static inline uintptr_t riscv_pgvaddr(uintptr_t paddr)
 }
 #endif /* CONFIG_ARCH_PGPOOL_MAPPING */
 
+/****************************************************************************
+ * Name: riscv_pgwipe
+ *
+ * Description:
+ *   Wipe a page of physical memory, first mapping it into virtual memory.
+ *
+ * Input Parameters:
+ *   paddr - Physical address of page
+ *
+ ****************************************************************************/
+
+static inline void riscv_pgwipe(uintptr_t paddr)
+{
+  uintptr_t vaddr = riscv_pgvaddr(paddr);
+  memset((void *)vaddr, 0, MM_PGSIZE);
+}
+
 #endif /* CONFIG_MM_PGALLOC */
 #endif /* __ARCH_RISC_V_SRC_COMMON_PGALLOC_H */
diff --git a/arch/risc-v/src/common/riscv_addrenv.c b/arch/risc-v/src/common/riscv_addrenv.c
index 3dacbfb2e7..bcb7df2411 100644
--- a/arch/risc-v/src/common/riscv_addrenv.c
+++ b/arch/risc-v/src/common/riscv_addrenv.c
@@ -99,23 +99,6 @@ extern uintptr_t            g_kernel_mappings;
  * Private Functions
  ****************************************************************************/
 
-/****************************************************************************
- * Name: wipe_page
- *
- * Description:
- *   Wipe a page of physical memory, first mapping it into virtual memory.
- *
- * Input Parameters:
- *   paddr - Physical address of page
- *
- ****************************************************************************/
-
-static inline void wipe_page(uintptr_t paddr)
-{
-  uintptr_t vaddr = riscv_pgvaddr(paddr);
-  memset((void *)vaddr, 0, MM_PGSIZE);
-}
-
 /****************************************************************************
  * Name: map_spgtables
  *
@@ -183,7 +166,7 @@ static int create_spgtables(group_addrenv_t *addrenv)
 
       /* Wipe the memory and assign it */
 
-      wipe_page(paddr);
+      riscv_pgwipe(paddr);
       addrenv->spgtables[i] = paddr;
     }
 
@@ -290,7 +273,7 @@ static int create_region(group_addrenv_t *addrenv, uintptr_t vaddr,
 
           /* This is then used to map the final level */
 
-          wipe_page(paddr);
+          riscv_pgwipe(paddr);
         }
 
       ptlast = riscv_pgvaddr(paddr);
@@ -307,7 +290,7 @@ static int create_region(group_addrenv_t *addrenv, uintptr_t vaddr,
 
           /* Wipe the physical page memory */
 
-          wipe_page(paddr);
+          riscv_pgwipe(paddr);
 
           /* Then map the virtual address to the physical address */
 
diff --git a/arch/risc-v/src/common/riscv_pgalloc.c b/arch/risc-v/src/common/riscv_pgalloc.c
index ae78eb5a75..643d77dcd8 100644
--- a/arch/risc-v/src/common/riscv_pgalloc.c
+++ b/arch/risc-v/src/common/riscv_pgalloc.c
@@ -54,23 +54,6 @@
  * Private Functions
  ****************************************************************************/
 
-/****************************************************************************
- * Name: wipe_page
- *
- * Description:
- *   Wipe a page of physical memory, first mapping it into virtual memory.
- *
- * Input Parameters:
- *   paddr - Physical address of page
- *
- ****************************************************************************/
-
-static inline void wipe_page(uintptr_t paddr)
-{
-  uintptr_t vaddr = riscv_pgvaddr(paddr);
-  memset((void *)vaddr, 0, MM_PGSIZE);
-}
-
 /****************************************************************************
  * Name: get_pgtable
  *
@@ -101,7 +84,7 @@ static uintptr_t get_pgtable(group_addrenv_t *addrenv, uintptr_t vaddr)
         {
           /* Wipe the page and assign it */
 
-          wipe_page(paddr);
+          riscv_pgwipe(paddr);
           mmu_ln_setentry(ptlevel, ptprev, paddr, vaddr, MMU_UPGT_FLAGS);
         }
     }
@@ -205,7 +188,7 @@ uintptr_t pgalloc(uintptr_t brkaddr, unsigned int npages)
 
       /* Wipe the memory */
 
-      wipe_page(paddr);
+      riscv_pgwipe(paddr);
 
       /* Then add the reference */