freebsd-skq/sys/dev
kib cfe7aa28cb 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
..
aac Add PNP_INFO to aac 2018-06-01 19:42:59 +00:00
aacraid Add PNP info to the PCI attachment of the aacraid driver. 2018-06-13 20:25:00 +00:00
acpi_support acpi: Add support for Thinkpads Mic led 2018-06-17 20:44:20 +00:00
acpica Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
adb
adlink Convert the PCI ID selection from a simple if into a table. 2018-03-23 15:35:19 +00:00
advansys
ae Add PNP info to PCI attachment of ae driver 2018-06-13 20:25:36 +00:00
age Add PNP info to PCI attachments of age driver 2018-06-13 20:25:32 +00:00
agp
aha
ahci Fixed endianess issue in AHCI driver 2018-07-27 13:11:05 +00:00
aic
aic7xxx Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
al_eth ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
alc Add PNP info to PCI attachment of alc driver 2018-07-08 20:39:52 +00:00
ale Add PNP info to PCI attachment of ale driver 2018-06-13 20:25:23 +00:00
alpm
altera ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
amd_ecc_inject
amdpm
amdsbwd amdsbwd: fix reboot status reporting 2018-05-05 05:22:11 +00:00
amdsmb Update AMDSMB to use PCI_MATCH 2018-07-07 15:55:52 +00:00
amdsmn
amdtemp
amr Add PNP info to PCI attachment of amr driver 2018-06-13 20:25:27 +00:00
an Add PNP info to PCI attachment of an driver 2018-06-13 20:25:09 +00:00
arcmsr
asmc Yank crufty INTR_FILTER option 2018-05-24 17:06:00 +00:00
ata Reset indentiation of ata_suspend() such that its clear we fall through 2018-07-03 16:17:59 +00:00
ath Fix PCI_SUBDEV call 2018-07-07 15:55:58 +00:00
atkbdc Drop MOUSE_GETVARS and MOUSE_SETVARS ioctls support. 2018-06-10 10:23:31 +00:00
auxio
axgbe
bce ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
beri
bfe Add PNP info to PCI attachments of bfe driver 2018-07-08 20:39:57 +00:00
bge As non-sparc64 undconditionally returns 1, simplify #ifdefs. 2018-08-01 02:59:56 +00:00
bhnd bhnd nvram map: don't write "variable records written" to standard out by default 2018-05-19 18:15:41 +00:00
bktr Don't use generic PCI_VENDOR and PCI_PRODUCT macros. Prefix them with 2018-06-24 19:01:01 +00:00
bm ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
bnxt Assorted TSO fixes for em(4)/iflib(9) and dead code removal: 2018-07-15 19:04:23 +00:00
buslogic
bvm
bwi Add PNP info to PCI attachment of bwi driver 2018-06-13 20:25:18 +00:00
bwn Add PNP info to PCI attachment of bwn driver 2018-06-13 20:25:13 +00:00
bxe Fixes for the following issues: 2018-07-17 23:56:13 +00:00
cadence
cardbus Push down Giant one layer. In the days of yore, back when Penitums 2018-03-20 22:01:18 +00:00
cas Add PNP info to PCI attachment of cas driver 2018-07-08 20:39:23 +00:00
ce
cesa OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
cfe
cfi Remove kernel support for armeb 2018-07-17 23:23:45 +00:00
chromebook_platform
ciss Add PNP info to PCI attachments of ciss driver 2018-07-08 20:40:10 +00:00
cmx
coretemp Quiet coretemp probe 2018-06-15 02:28:36 +00:00
cp
cpuctl Typo. 2018-05-22 15:49:23 +00:00
cpufreq cpufreq_dt: Add operating-points-v2 support 2018-07-19 11:31:49 +00:00
cs ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
ctau
cx Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00
cxgb ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
cxgbe cxgbe(4): Consider rateunit before ratemode when displaying information 2018-07-26 07:29:44 +00:00
cy Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
cyapa
dc Add PNP info to PCI attachment of dc driver 2018-07-08 20:40:06 +00:00
dcons i386 4/4G split. 2018-04-13 20:30:49 +00:00
de ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
dme
dpaa Align OF_getencprop_alloc API with OF_getencprop and OF_getprop_alloc 2018-04-09 22:06:16 +00:00
dpms
dpt
drm drm: fix memory leak on error path 2018-05-28 02:34:38 +00:00
drm2 Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
dwc ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
e1000 o In em_if_update_admin_status(): 2018-07-22 17:40:13 +00:00
ed ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
efidev Follow up to r336919 and r336921: s/efi.rt_disabled/efi.rt.disabled/ 2018-07-30 18:13:20 +00:00
ena Remove stray space from PNP string. 2018-07-08 23:12:27 +00:00
ep
esp
et Add PNP info to PCI attachment of et driver 2018-07-08 20:40:28 +00:00
etherswitch Improve detection of addressing mode in e6000sw 2018-04-10 08:35:43 +00:00
evdev [evdev] Sync event codes with Linux kernel 4.16 2018-06-03 10:53:10 +00:00
ex ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
exca Use M. Warner Losh everywhere on my copyrights. 2018-05-01 16:29:22 +00:00
extres nvmem: Add nvmem interface and helpers 2018-07-31 19:08:24 +00:00
fb
fdc
fdt fdt_pinctrl: Add some TSLOG annotations 2018-07-19 11:41:53 +00:00
fe ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
ffec ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
filemon Eliminate the overhead of gratuitous repeated reinitialization of cap_rights 2018-05-09 18:47:24 +00:00
firewire Use https over http for FreeBSD pages 2018-07-27 10:40:48 +00:00
flash The device ID tables are used only within the driver, make them static so 2018-07-29 16:55:28 +00:00
fxp Add PNP info to PCI attachment of fxp driver 2018-07-08 20:39:43 +00:00
gem Add PNP info to PCI attachment of gem driver 2018-07-08 20:39:48 +00:00
glxiic
glxsb glxsb: Convert remaining OCF driver to new interface 2018-07-18 03:32:28 +00:00
gpio Align OF_getencprop_alloc API with OF_getencprop and OF_getprop_alloc 2018-04-09 22:06:16 +00:00
gxemul
hdmi
hifn OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
hme ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc Revert r336773: it removed too much. 2018-07-27 21:25:01 +00:00
hyperv Use SMAP on amd64. 2018-07-29 20:47:00 +00:00
ic
ichiic Remove MODULE_PNP_INFO for ig4(4) driver 2018-07-16 01:34:45 +00:00
ichsmb
ichwd
ida
if_ndis ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
iicbus Use M. Warner Losh everywhere on my copyrights. 2018-05-01 16:29:22 +00:00
iir
imcsmb imcsmb(4): Intel integrated Memory Controller (iMC) SMBus controller driver 2018-03-03 01:53:51 +00:00
intel
intpm
io
ioat
ipmi Support building IPMI as a module on powerpc64 2018-07-25 18:58:57 +00:00
ips
ipw Add PNP info to PCI attachment of ipw driver 2018-07-08 20:40:23 +00:00
isci Correct typo in ATA_WRITE_UNCORRECTABLE_PSEUDO 2018-02-23 20:01:42 +00:00
iscsi Fix typo in a warning message. 2018-03-14 18:27:06 +00:00
iscsi_initiator
iser
isl
ismt
isp Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
ispfw Update QLogic ISP 24xx/25xx chips firmware to 8.07.00. 2018-03-02 19:50:41 +00:00
iwi Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
iwm [iwm] Add support for iwm 3168 cards 2018-03-28 07:59:16 +00:00
iwn iwn: Add the missing IWN_SDID_6035_5 subdevice 2018-06-30 04:30:08 +00:00
ixgbe Assorted TSO fixes for em(4)/iflib(9) and dead code removal: 2018-07-15 19:04:23 +00:00
ixl Assorted TSO fixes for em(4)/iflib(9) and dead code removal: 2018-07-15 19:04:23 +00:00
jedec_dimm Remove jedec_ts(4) 2018-08-01 08:24:34 +00:00
jme ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
joy Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
kbd
kbdmux Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
ksyms
le ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
led
lge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
liquidio Fix build of liquidio with base gcc on i386 2018-06-13 07:55:57 +00:00
malo ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
mbox
mc146818
md md: use prestaged mfs_root 2018-06-07 13:57:34 +00:00
mdio
mem
mfi Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
mge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
mii
mk48txx
mlx
mlx4 Add support for prio-tagged traffic for RDMA in ibcore. 2018-07-17 09:11:53 +00:00
mlx5 Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mly
mmc Fix building GENERIC-MMCCAM on arm64 2018-05-25 19:00:28 +00:00
mmcnull
mn
mpr Clean enclosure_table when resetting num_enc_table_entries to zero. 2018-05-02 02:41:09 +00:00
mps Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
mpt
mrsas mrsas(4): Remove unneed extra arg from MR_LdBlockSizeGet(). 2018-05-23 07:39:00 +00:00
mse Drop MOUSE_GETVARS and MOUSE_SETVARS ioctls support. 2018-06-10 10:23:31 +00:00
msk ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
mthca Optimize ibcore RoCE address handle creation from user-space. 2018-03-05 14:34:52 +00:00
mvs
mwl Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
mxge mxge: replace 65536 with IP_MAXPACKET in tso settings. 2018-07-05 02:43:10 +00:00
my ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
nand Remove Atmel AT91RM9200 and AT91SAM9 support. 2018-07-27 18:28:22 +00:00
ncr Add PNP info to the PCI attachment of the ncr driver. 2018-06-13 20:24:49 +00:00
nctgpio
ncv
neta Clean up OF_getprop_alloc API 2018-04-08 22:59:34 +00:00
netfpga10g/nf10bmac
netmap netmap and iflib drivers, silence unused var warnings 2018-05-19 05:57:26 +00:00
nfe
nfsmb
nge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
nmdm
nsp
ntb Try to preallocate receive memory early. 2018-01-31 01:04:36 +00:00
null Refactor some of the MI kernel dump code in preparation for netdump. 2018-05-06 00:22:38 +00:00
nvd
nvme Refactor NVMe CAM integration. 2018-05-25 03:34:33 +00:00
nvram
nvram2env
oce ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
ocs_fc Use the right buffer size when calling snprintf(). 2018-07-22 18:31:15 +00:00
ofw ofw_cpu: Add support for getting cpu clock via clock property 2018-07-31 20:50:50 +00:00
otus ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
ow [ofw] fix errneous checks for OF_finddevice(9) return value 2018-03-20 00:03:49 +00:00
pbio
pccard pccard: recode to use devctl_safe_quote_sb instead of devctl_safe_quote. 2018-06-27 04:11:14 +00:00
pccbb remove unneeded inclusion of sys/interrupt.h from several files 2018-07-04 09:07:18 +00:00
pcf
pci Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
pcn ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
pms
powermac_nvram
ppbus
ppc i386 4/4G split. 2018-04-13 20:30:49 +00:00
proto
psci Use int for the pcpu_ssbd argument. This is included from userland and may 2018-07-31 15:08:02 +00:00
pst
pty
puc puc(4): Add provisional support for Exar XR17V352 2018-06-06 16:47:33 +00:00
qlnx/qlnxe Remove support for QLNX_RCV_IN_TASKQ - i.e., Rx only in TaskQ. 2018-07-25 02:36:55 +00:00
qlxgb ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
qlxgbe ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
qlxge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
quicc
ral net80211: wrap protection frame allocation into ieee80211_alloc_prot() 2018-03-09 11:33:56 +00:00
random Reduce overhead of entropy collection 2018-05-31 21:53:07 +00:00
rc
rccgpio
re ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
rl ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
rndtest
rp Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
rt
rtwn rtwn(4): decode some bit fields + merge duplicate code. 2018-06-19 00:38:28 +00:00
safe OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
sbni Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
scc
sdhci The broken DDR52 support of Intel Bay Trail eMMC controllers rumored 2018-05-14 21:46:06 +00:00
sec OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
sf ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
sfxge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
sge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
siis
sio Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sis ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
sk Use https over http for FreeBSD pages 2018-07-27 10:40:48 +00:00
smartpqi Re-unbreak smartpqi(4) GCC build 2018-07-13 22:49:48 +00:00
smbus
smc
sn ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
snp
sound snd_hda: Synchronize DMA buffers for the control path 2018-08-01 14:50:41 +00:00
speaker
spibus Enhancements and fixes for the spigen(4) driver... 2018-07-11 17:54:41 +00:00
ste ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
stg
stge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
sym
syscons Drop MOUSE_GETVARS and MOUSE_SETVARS ioctls support. 2018-06-10 10:23:31 +00:00
tcp_log Make the TCP blackbox code committed in r331347 be an optional feature 2018-03-24 12:48:10 +00:00
tdfx
terasic
ti ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
tl ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
tpm
trm
tsec ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
twa
twe
tws
tx ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
txp ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
uart Now that we set the busy_detect bit in the bas to support setting it 2018-07-23 19:27:11 +00:00
ubsec OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
usb Remove Atmel AT91RM9200 and AT91SAM9 support. 2018-07-27 18:28:22 +00:00
veriexec Device for user space to interface with MAC/veriexec. 2018-06-20 00:48:46 +00:00
vge ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
viapm
viawd
videomode
virtio Update VirtIO definitions from Linux virtio_config.h and virtio_ring.h headers 2018-06-17 20:45:48 +00:00
vkbd Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
vmware ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
vnic Fix vnic fallback PHY name matching after r334880. 2018-07-14 16:06:53 +00:00
vr ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
vt vt/ofwfb: Fix brain-o from r336514, use the correct form of /chosen/stdout-path 2018-07-20 16:18:24 +00:00
vte ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
vx
watchdog
wb ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
wbwd
wi ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
wpi
wtap UDP: further performance improvements on tx 2018-05-23 21:02:14 +00:00
xdma Add driver for ARM PrimeCell PL330 DMA engine. 2018-04-13 12:43:54 +00:00
xe ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00
xen Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
xilinx
xl ifnet: Replace if_addr_lock rwlock with epoch + mutex 2018-05-18 20:13:34 +00:00