freebsd-dev/share
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
..
colldef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
ctypedef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
dict Sync with NetBSD's /usr/share/dict/words, with the exception of quim 2017-12-16 20:25:50 +00:00
doc Update several more URLs 2017-10-29 08:17:03 +00:00
dtrace Introduce dwatch(1) as a tool for making DTrace more useful 2018-03-06 23:44:19 +00:00
examples Add SPDX tags to example manual pages and POSIX copyright. 2018-07-20 13:45:09 +00:00
i18n share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
keys
man Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
misc Use https over http for FreeBSD pages 2018-07-27 10:40:48 +00:00
mk Revert accidental change from r336908 2018-07-30 15:10:06 +00:00
monetdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
msgdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
numericdef Update to CLDR 32 and Unicode 10 2017-11-03 13:52:34 +00:00
security
sendmail share: normalize paths using SRCTOP-relative paths or :H when possible 2017-03-04 11:26:40 +00:00
skel Simplify this Makefile. 2018-06-08 15:05:26 +00:00
snmp
syscons Don't use CCACHE for linking. 2018-06-27 19:29:15 +00:00
tabset
termcap Simplify using bsd.endian.mk and have it provide CAP_MKDB_ENDIAN, since it is 2018-06-28 13:48:59 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
timedef timedef: Update Czech timedef 2018-05-23 10:39:02 +00:00
vt Correct tom-thumb vt font glyphs 2018-04-13 17:37:39 +00:00
zoneinfo We don't actually need env here, so drop it. All shells allow setting 2018-02-09 15:50:32 +00:00
Makefile Convert traditional ${MK_TESTS} conditional idiom for including test 2017-08-02 08:35:51 +00:00
Makefile.inc