opnsense-src/sys/dev/pci
Konstantin Belousov 87842989f8 Add ioctl to conveniently mmap a PCI device BAR into userspace.
Add the ioctl PCIOCBARMMAP on /dev/pci to conveniently create
userspace mapping of a PCI device BAR.  This is enormously superior to
read the BAR value with PCIOCREAD and then try to mmap /dev/mem, and
should allow to automatically activate the mapped BARs when needed in
future.

Current implementation creates new sg pager for each user mmap
request.  If the pointer (and reference) to a managed device pager is
stored in pci_map, we would be able to revoke all mappings on the BAR
deactivation or relocation.  This is related to the unimplemented BAR
activation on mmap, and is postponed for the future.

Discussed with:	imp, jhb
Sponsored by:	The FreeBSD Foundation, Mellanox Technologies
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D15583
2018-08-01 18:58:24 +00:00
..
fixup_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hostb_pci.c Add PCI methods to iterate over the PCI capabilities 2018-02-19 18:41:56 +00:00
ignore_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
isa_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pci.c Create PCI_MATCH and pci_match_device 2018-07-07 15:25:11 +00:00
pci_host_generic.c Fix build broken by r336130 2018-07-10 09:49:27 +00:00
pci_host_generic.h Remove redundant declarations. Newer gcc has a warning for these so will 2017-08-19 17:18:27 +00:00
pci_host_generic_acpi.c ARM64: Add support for ThunderX2 PCIe 2018-07-09 08:55:07 +00:00
pci_host_generic_fdt.c If ofw_bus_msimap fails don't try to use the invalid MSI/MSI-X parent node. 2017-03-16 17:49:37 +00:00
pci_host_generic_fdt.h To allow for an ACPI attachment to the generic PCIe driver split off the 2016-11-21 18:24:05 +00:00
pci_if.m Add PCI methods to iterate over the PCI capabilities 2018-02-19 18:41:56 +00:00
pci_iov.c Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_iov.h Permit the name of the /dev/iov entry to be set by the driver. 2016-08-03 17:09:12 +00:00
pci_iov_if.m Create a separate kobj interface for leaf-driver PCI IOV methods. 2015-05-28 22:01:50 +00:00
pci_iov_private.h Save and restore SRIOV-related config registers. 2016-05-03 19:45:24 +00:00
pci_iov_schema.c Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
pci_pci.c Only conform to PCIe spec of 1 device per bus on !x86 2018-05-30 22:39:41 +00:00
pci_private.h Add PCI methods to iterate over the PCI capabilities 2018-02-19 18:41:56 +00:00
pci_subr.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pci_user.c Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
pcib_if.m Create pcib_request_feature. 2017-02-25 06:11:36 +00:00
pcib_private.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pcib_support.c Re-commit r299467 having fixed the build: 2016-05-16 09:15:50 +00:00
pcireg.h sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pcivar.h Create PCI_MATCH and pci_match_device 2018-07-07 15:25:11 +00:00
schema_private.h Clean up repeated "All rights reserved" 2016-03-14 17:41:17 +00:00
vga_pci.c Allow PCI VGA devices to be detached. 2018-05-03 22:51:44 +00:00