diff options
Diffstat (limited to 'pci-arbiter/device_map.c')
-rw-r--r-- | pci-arbiter/device_map.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pci-arbiter/device_map.c b/pci-arbiter/device_map.c new file mode 100644 index 00000000..216adfb9 --- /dev/null +++ b/pci-arbiter/device_map.c @@ -0,0 +1,38 @@ +/* + Copyright (C) 2021 Free Software Foundation, Inc. + + This file is part of the GNU Hurd. + + The GNU Hurd is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or (at + your option) any later version. + + The GNU Hurd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* Implementation for device memory mapping functions */ + +#include <pciaccess.h> + +#include "device_map.h" + +error_t +device_map_region (struct pci_device *device, struct pci_mem_region *region) +{ + error_t err = 0; + + if (region->memory == 0) + { + err = pci_device_map_range (device, region->base_addr, region->size, + PCI_DEV_MAP_FLAG_WRITABLE, ®ion->memory); + } + + return err; +} |