aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv/common/vmem.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/common/vmem.c')
-rw-r--r--arch/riscv/common/vmem.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/riscv/common/vmem.c b/arch/riscv/common/vmem.c
index d0f3ebe..ef89ec3 100644
--- a/arch/riscv/common/vmem.c
+++ b/arch/riscv/common/vmem.c
@@ -3,22 +3,22 @@
#include <pages.h>
#include <vmem.h>
-#define pte_ppn(pte) (((paddr_t)(pte)) >> 10)
-#define pte_flags(pte) (((paddr_t)(pte)) & 0xff)
-#define to_pte(p, f) ((paddr_to_pnum(p) << 10) + (f))
+#define pte_ppn(pte) (((pm_t)(pte)) >> 10)
+#define pte_flags(pte) (((pm_t)(pte)) & 0xff)
+#define to_pte(p, f) ((pm_to_pnum(p) << 10) + (f))
#define pte_addr(pte) (pnum_to_paddr(pte_ppn(pte)))
/* probably not actually this simple, right? */
void map_vmem(struct vm_branch_t *branch,
- paddr_t paddr, vaddr_t vaddr,
+ pm_t paddr, vm_t vaddr,
uint8_t flags, enum mm_order_t order)
{
enum mm_order_t top = MAX_ORDER;
while(top != order){
- size_t idx = paddr_to_index(vaddr, top);
+ size_t idx = pm_to_index(vaddr, top);
if(!branch->leaf[idx]){
- paddr_t new_leaf = alloc_page(MM_KPAGE, 0);
+ pm_t new_leaf = alloc_page(MM_KPAGE, 0);
branch->leaf[idx] = (struct vm_branch_t *)to_pte(new_leaf, VM_V);
memset((void *)new_leaf, 0, sizeof(struct vm_branch_t));
}
@@ -27,19 +27,19 @@ void map_vmem(struct vm_branch_t *branch,
top--;
}
- size_t idx = paddr_to_index(vaddr, top);
+ size_t idx = pm_to_index(vaddr, top);
branch->leaf[idx] = (struct vm_branch_t *)to_pte(paddr, flags);
}
void unmap_vmem(struct vm_branch_t *branch,
- vaddr_t vaddr, enum mm_order_t order)
+ vm_t vaddr, enum mm_order_t order)
{
while(order){
- size_t idx = paddr_to_index(vaddr, order);
+ size_t idx = pm_to_index(vaddr, order);
branch = (struct vm_branch_t *)pte_addr(branch->leaf[idx]);
}
- size_t idx = paddr_to_index(vaddr, order);
+ size_t idx = pm_to_index(vaddr, order);
if(branch->leaf[idx])
free_page(order, pte_addr(branch->leaf[idx]));