Go to file
Ferruh Yigit d05aafe62f igb_uio: fix possible mmap failure with Linux 4.5
mmap the iomem range of the PCI device fails for kernels that
enabled CONFIG_IO_STRICT_DEVMEM option:

EAL: pci_map_resource():
         cannot mmap(39, 0x7f1c51800000, 0x100000, 0x0):
         Invalid argument (0xffffffffffffffff)

CONFIG_IO_STRICT_DEVMEM is introduced in Linux v4.5 and not enabled
by default:
Linux commit: 90a545e restrict /dev/mem to idle io memory ranges

As a workaround igb_uio can stop reserving PCI memory resources, from
kernel point of view iomem region looks like idle and mmap works
again. This matches uio_pci_generic usage.

With this update device iomem range is not protected against any
other kernel drivers or userspace access. But this  shouldn't
be a problem for dpdk usage module since purpose of the igb_uio
module is to provide userspace access.

Fixes: af75078fec ("first public release")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
2016-07-10 15:56:54 +02:00
app hash: retrieve a key given its position 2016-07-10 14:56:45 +02:00
buildtools pmdinfogen: fix build on FreeBSD 2016-07-10 14:51:09 +02:00
config net/mlx5: remove inline Tx support 2016-06-27 16:17:52 +02:00
doc igb_uio: fix possible mmap failure with Linux 4.5 2016-07-10 15:56:54 +02:00
drivers ethdev: get registers width 2016-07-10 14:55:42 +02:00
examples ethdev: get registers width 2016-07-10 14:55:42 +02:00
lib igb_uio: fix possible mmap failure with Linux 4.5 2016-07-10 15:56:54 +02:00
mk mk: fix verbose pmdinfogen run 2016-07-08 17:07:05 +02:00
pkg version: 16.04 2016-04-11 23:56:34 +02:00
scripts scripts: test clean build when config is changed 2016-07-01 12:35:57 +02:00
tools tools: fix pmdinfo for FreeBSD 2016-07-10 14:51:09 +02:00
.gitignore init DPDK repository 2013-03-07 10:57:42 +01:00
GNUmakefile pmdinfogen: add buildtools and pmdinfogen utility 2016-07-06 22:34:39 +02:00
LICENSE.GPL doc: GPL/LGPL licenses 2013-07-25 14:43:06 +02:00
LICENSE.LGPL doc: fix file format (dos to unix) 2013-09-06 11:43:07 +02:00
MAINTAINERS maintainers: add section for pmdinfo 2016-07-08 17:48:15 +02:00
Makefile remove trailing whitespaces 2014-06-11 00:29:34 +02:00
README doc: add readme file 2015-12-13 22:06:58 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD license for the core libraries and
drivers. The kernel components are GPLv2 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org