From cbfca7a9854061e3a2d59795361fb875827e7c50 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 1 Mar 2022 21:24:21 +0200 Subject: make vmflags_t 16 bits lower 8 bits are reserved for arch-specific flags (but at least read/write/execute) and higher 8 bits are metadata, currently only for VM_VIRTUAL (to be used when the backing physical memory shouldn't be freed) --- arch/riscv64/kernel/vmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/riscv64/kernel/vmem.c') diff --git a/arch/riscv64/kernel/vmem.c b/arch/riscv64/kernel/vmem.c index 9fd42dd..cd822ae 100644 --- a/arch/riscv64/kernel/vmem.c +++ b/arch/riscv64/kernel/vmem.c @@ -46,7 +46,7 @@ stat_t mod_vpage(struct vm_branch *branch, vm_t vaddr, pm_t paddr, vmflags_t fla { pm_t *pte = __find_vmem(branch, vaddr, 0); if(pte){ - *pte = to_pte((pm_t)__pa(paddr), flags); + *pte = to_pte((pm_t)__pa(paddr), vp_flags(flags)); return OK; } @@ -111,7 +111,7 @@ stat_t map_vpage(struct vm_branch *branch, if (is_branch(branch->leaf[idx])) /* something has gone terribly wrong? */ __destroy_branch(branch->leaf[idx]); - branch->leaf[idx] = (struct vm_branch *)to_pte((pm_t)__pa(paddr), flags); + branch->leaf[idx] = (struct vm_branch *)to_pte((pm_t)__pa(paddr), vp_flags(flags)); return OK; } -- cgit v1.3