aboutsummaryrefslogtreecommitdiff
path: root/pci-arbiter/netfs_impl.c
diff options
context:
space:
mode:
authorJoan Lledó <jlledom@member.fsf.org>2022-01-08 13:15:37 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-01-08 19:10:50 +0100
commit7c3743a6d1cf06fe5130628c9f39cc3c41128d22 (patch)
tree0b3a7e3a397eb7aee919d48c8bee295ccaadc62e /pci-arbiter/netfs_impl.c
parent78102136e63b4bdccd06982fd8708b6832225be7 (diff)
downloadhurd-7c3743a6d1cf06fe5130628c9f39cc3c41128d22.tar.gz
hurd-7c3743a6d1cf06fe5130628c9f39cc3c41128d22.tar.bz2
hurd-7c3743a6d1cf06fe5130628c9f39cc3c41128d22.zip
pci-arbiter: Stop using deprecated region memory pointer
Use a internal array of pointers instead * pci-arbiter/device_map.h: * Update device_map_region() prototype * Now it receives an output address as parameter * pci-arbiter/device_map.c: * Update device_map_region() definition to match the new prototype * Support for legacy mappings * When the base address is lower than 1 mb * pci-arbiter/func_files.c: * pci-arbiter/netfs_impl.c: * Update calls to device_map_region to match the new prototype * Use the internal array of pointers instead of region->memory * pci-arbiter/pcifs.h: * struct pcifs_dirent: Declare the internal array of pointers Message-Id: <20220108121537.6277-2-jlledom@mailfence.com>
Diffstat (limited to 'pci-arbiter/netfs_impl.c')
-rw-r--r--pci-arbiter/netfs_impl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pci-arbiter/netfs_impl.c b/pci-arbiter/netfs_impl.c
index 8b4bd22b..db35d268 100644
--- a/pci-arbiter/netfs_impl.c
+++ b/pci-arbiter/netfs_impl.c
@@ -591,15 +591,17 @@ netfs_get_filemap (struct node *node, vm_prot_t prot)
region = &node->nn->ln->device->regions[reg_num];
/* Ensure the region is mapped */
- err = device_map_region (node->nn->ln->device, region);
+ err = device_map_region (node->nn->ln->device, region,
+ &node->nn->ln->region_maps[reg_num]);
if (err)
return err;
/* Create a new memory object proxy with the required protection */
max_prot = (VM_PROT_READ | VM_PROT_WRITE) & prot;
err =
- vm_region_create_proxy(mach_task_self (), (vm_address_t)region->memory,
- max_prot, region->size, &proxy);
+ vm_region_create_proxy(mach_task_self (),
+ (vm_address_t)node->nn->ln->region_maps[reg_num],
+ max_prot, region->size, &proxy);
if (err)
goto error;