resource: allow MMIO exclusivity for device drivers
authorArjan van de Ven <arjan@linux.intel.com>
Thu, 23 Oct 2008 02:55:31 +0000 (19:55 -0700)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 7 Jan 2009 19:12:32 +0000 (11:12 -0800)
commite8de1481fd7126ee9e93d6889da6f00c05e1e019
tree3e0e564f6aff2f8f0f66bdf37dc2eb87d6e17cde
parent23616941914917cf25b94789856b5326b68d8ee8
resource: allow MMIO exclusivity for device drivers

Device drivers that use pci_request_regions() (and similar APIs) have a
reasonable expectation that they are the only ones accessing their device.
As part of the e1000e hunt, we were afraid that some userland (X or some
bootsplash stuff) was mapping the MMIO region that the driver thought it
had exclusively via /dev/mem or via various sysfs resource mappings.

This patch adds the option for device drivers to cause their reserved
regions to the "banned from /dev/mem use" list, so now both kernel memory
and device-exclusive MMIO regions are banned.
NOTE: This is only active when CONFIG_STRICT_DEVMEM is set.

In addition to the config option, a kernel parameter iomem=relaxed is
provided for the cases where developers want to diagnose, in the field,
drivers issues from userspace.

Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Documentation/kernel-parameters.txt
arch/x86/mm/init_32.c
arch/x86/mm/init_64.c
drivers/net/e1000e/netdev.c
drivers/pci/pci-sysfs.c
drivers/pci/pci.c
include/linux/ioport.h
include/linux/pci.h
kernel/resource.c