From 7c3743a6d1cf06fe5130628c9f39cc3c41128d22 Mon Sep 17 00:00:00 2001 From: Joan Lledó Date: Sat, 8 Jan 2022 13:15:37 +0100 Subject: 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> --- pci-arbiter/netfs_impl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pci-arbiter/netfs_impl.c') 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; -- cgit v1.2.3