aboutsummaryrefslogtreecommitdiff
path: root/arch/riscv64/kernel
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-03-01 21:24:21 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-03-01 21:24:21 +0200
commitcbfca7a9854061e3a2d59795361fb875827e7c50 (patch)
tree5cc7ba8e21e5194afa5e81054d825f91315b10e0 /arch/riscv64/kernel
parent2f7742acbeace74f09c8d7bb04cf127a84778712 (diff)
downloadkmi-cbfca7a9854061e3a2d59795361fb875827e7c50.tar.gz
kmi-cbfca7a9854061e3a2d59795361fb875827e7c50.zip
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)
Diffstat (limited to 'arch/riscv64/kernel')
-rw-r--r--arch/riscv64/kernel/vmem.c4
1 files changed, 2 insertions, 2 deletions
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;
}