summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-17 00:02:00 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-02-17 00:02:56 +0100
commitde55cd489886af509c687dbf9a4a9eab4be67e3f (patch)
tree123efe90d3943501c30139c07e0dbfe493e8ea97
parent74b070f2f301ccf9e7ec0feb48b51412280700d9 (diff)
projected_buffer_*: Fix storing physical address
-rw-r--r--vm/vm_kern.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/vm/vm_kern.c b/vm/vm_kern.c
index 705b0acb..c624a875 100644
--- a/vm/vm_kern.c
+++ b/vm/vm_kern.c
@@ -92,6 +92,7 @@ projected_buffer_allocate(
vm_object_t object;
vm_map_entry_t u_entry, k_entry;
vm_offset_t addr;
+ phys_addr_t physical_addr;
vm_size_t r_size;
kern_return_t kr;
@@ -159,8 +160,8 @@ projected_buffer_allocate(
pmap_pageable(map->pmap, *user_p, *user_p + size, FALSE);
for (r_size = 0; r_size < size; r_size += PAGE_SIZE) {
- addr = pmap_extract(kernel_pmap, *kernel_p + r_size);
- pmap_enter(map->pmap, *user_p + r_size, addr,
+ physical_addr = pmap_extract(kernel_pmap, *kernel_p + r_size);
+ pmap_enter(map->pmap, *user_p + r_size, physical_addr,
protection, TRUE);
}
@@ -186,7 +187,8 @@ projected_buffer_map(
vm_inherit_t inheritance) /*Currently only VM_INHERIT_NONE supported*/
{
vm_map_entry_t u_entry, k_entry;
- vm_offset_t physical_addr, user_addr;
+ vm_offset_t user_addr;
+ phys_addr_t physical_addr;
vm_size_t r_size;
kern_return_t kr;