linux/Documentation
Arjan van de Ven e8de1481fd 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>
2009-01-07 11:12:32 -08:00
..
ABI mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
DocBook uio: make uio_info's name and version const 2009-01-06 10:44:44 -08:00
PCI Create/use more directory structure in the Documentation/ tree. 2008-11-14 17:28:53 +00:00
RCU Merge branch 'core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-30 16:10:19 -08:00
accounting .gitignore updates 2008-10-30 11:38:45 -07:00
acpi ACPI: update debug parameter documentation 2008-11-07 21:45:29 -05:00
aoe
arm Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 into devel 2008-12-29 18:08:11 +00:00
auxdisplay .gitignore updates 2008-10-30 11:38:45 -07:00
blackfin Blackfin arch: add supporting for kgdb 2008-10-13 14:07:19 +08:00
block Documentation: remove reference to ll_rw_blk.c and moved drivers/block/elevator.c 2008-12-29 08:28:43 +01:00
blockdev Create/use more directory structure in the Documentation/ tree. 2008-11-14 17:28:53 +00:00
cdrom doc/cdrom: Trvial documentation error, file not present 2008-10-10 08:22:44 +02:00
cgroups freezer_cg: disable writing freezer.state of root cgroup 2008-11-12 17:17:16 -08:00
connector .gitignore updates 2008-10-30 11:38:45 -07:00
console
controllers sched: add hierarchical accounting to cpu accounting controller 2008-11-11 12:13:28 +01:00
cpu-freq doc: Update sh cpufreq documentation. 2008-12-22 18:44:47 +09:00
cpuidle
cris fix random typos 2008-10-16 11:21:30 -07:00
crypto
development-process Add the development process document 2008-10-16 11:51:30 -06:00
device-mapper
driver-model
dvb V4L/DVB (9812): [PATCH] short help for Technisat cards to select the right configuration 2008-12-30 09:38:35 -02:00
early-userspace
fault-injection
fb [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices 2008-12-29 18:00:04 +08:00
filesystems poll: allow f_op->poll to sleep 2009-01-06 15:59:12 -08:00
firmware_class
frv
hwmon adt7470: make automatic fan control really work 2009-01-06 15:59:18 -08:00
i2c i2c: The i2c mailing list is moving 2008-10-30 15:55:47 +01:00
i2o
ia64 .gitignore updates 2008-10-30 11:38:45 -07:00
ide ide: update warm-plug HOWTO 2009-01-06 17:21:00 +01:00
infiniband
input Merge commit 'v2.6.28-rc9' into next 2008-12-20 04:54:54 -05:00
ioctl documentation: update header file paths 2009-01-06 15:59:28 -08:00
isdn Rationalise Randy's address a bit 2008-10-30 11:38:47 -07:00
ja_JP HOWTO: Sync patch for jp_JP/HOWTO 2008-10-29 15:03:50 -07:00
kbuild kbuild: document environment variables 2009-01-02 20:43:25 +01:00
kdump powerpc: Support for relocatable kdump kernel 2008-10-22 15:01:22 +11:00
ko_KR
laptops Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
lguest lguest: move the initial guest page table creation code to the host 2008-12-30 09:26:11 +10:30
m68k
make
mips documentation: update header file paths 2009-01-06 15:59:28 -08:00
mn10300
mtd [MTD] [NAND] nand_ecc.c: rewrite for improved performance 2008-08-16 10:55:33 +01:00
namespaces
netlabel
networking dccp ccid-2: Phase out the use of boolean Ack Vector sysctl 2008-12-08 01:19:06 -08:00
parisc
pcmcia .gitignore updates 2008-10-30 11:38:45 -07:00
power pm: document use of RTC in pm_trace 2008-10-16 11:21:29 -07:00
powerpc documentation: update header file paths 2009-01-06 15:59:28 -08:00
prctl
s390 documentation: update s390 header file paths 2009-01-06 15:59:28 -08:00
scheduler Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-12-28 12:27:58 -08:00
scsi [SCSI] cxgb3i: Add cxgb3i iSCSI driver. 2008-12-30 10:45:33 -06:00
serial Create/use more directory structure in the Documentation/ tree. 2008-11-14 17:28:53 +00:00
sh sh: Kill off remaining CONFIG_SH_KGDB bits. 2008-12-22 18:44:05 +09:00
sound Merge branch 'topic/oxygen' into to-push 2008-12-25 11:40:30 +01:00
sparc sparc: Remove Documentation/sparc/sbus_drivers.txt 2008-08-29 02:15:25 -07:00
spi spi documentation: use __initdata on struct 2008-12-01 19:55:24 -08:00
sysctl mm: add dirty_background_bytes and dirty_bytes sysctls 2009-01-06 15:59:03 -08:00
telephony remove mention of CONFIG_KMOD from documentation 2008-07-22 19:24:29 +10:00
thermal
timers hpet: /dev/hpet - fixes and cleanup 2008-07-31 18:45:41 +02:00
tracers tracing, doc: update mmiotrace documentation 2008-11-23 20:33:24 +01:00
uml
usb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream 2009-01-02 13:17:13 +00:00
video4linux V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme 2009-01-02 17:13:56 -02:00
vm mm: remove try_to_munlock from vmscan 2009-01-06 15:59:03 -08:00
w1 hdq: documentation for OMAP HDQ 2008-11-12 17:17:18 -08:00
watchdog .gitignore updates 2008-10-30 11:38:45 -07:00
x86 documentation: update header file paths 2009-01-06 15:59:28 -08:00
zh_CN
00-INDEX Merge branch 'doc-subdirs' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs 2008-11-15 11:51:03 -08:00
BUG-HUNTING
Changes
CodingStyle documentation: update CodingStyle tips for Emacs users 2008-07-25 10:53:29 -07:00
DMA-API.txt DMA-API.txt: fix description of pci_map_sg/dma_map_sg scatterlists handling 2008-12-01 19:55:24 -08:00
DMA-ISA-LPC.txt
DMA-attributes.txt powerpc/cell: Add DMA_ATTR_WEAK_ORDERING dma attribute and use in Cell IOMMU code 2008-07-22 10:39:36 +10:00
DMA-mapping.txt documentation: update header file paths 2009-01-06 15:59:28 -08:00
HOWTO Remove Andrew Morton's http://www.zip.com.au/~akpm/ 2008-10-16 11:21:32 -07:00
IO-mapping.txt
IPMI.txt
IRQ-affinity.txt
IRQ.txt
Intel-IOMMU.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
Makefile docsrc: build Documentation/ sources 2008-08-12 16:07:30 -07:00
ManagementStyle docs: fix ManagementStyle book name 2008-10-30 11:38:46 -07:00
SAK.txt Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
SELinux.txt selinux: add support for installing a dummy policy (v2) 2008-08-27 08:54:08 +10:00
SM501.txt
SecurityBugs
Smack.txt
SubmitChecklist documentation: explain memory barriers 2008-10-16 11:21:32 -07:00
SubmittingDrivers Remove Andrew Morton's old email accounts 2008-10-16 11:21:32 -07:00
SubmittingPatches Merge branch 'docs' of git://git.lwn.net/linux-2.6 2008-10-16 12:18:16 -07:00
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt gpio: add bt8xxgpio driver 2008-07-25 10:53:30 -07:00
c2port.txt Add c2 port support 2008-11-12 17:17:18 -08:00
cachetlb.txt
cpu-hotplug.txt x86: use possible_cpus=NUM to extend the possible cpus allowed 2008-12-18 12:08:05 +01:00
cpu-load.txt
cpusets.txt container freezer: document the cgroup freezer subsystem. 2008-10-20 08:52:34 -07:00
cputopology.txt sysfs: add documentation to cputopology.txt for system cpumasks 2008-12-19 17:47:12 +10:30
credentials.txt CRED: Documentation 2008-11-14 10:39:26 +11:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt USB: add USB test and measurement class driver 2008-10-17 14:40:51 -07:00
dontdiff dontdiff: more updates to be closer to gitignore 2008-10-16 11:21:31 -07:00
edac.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
eisa.txt
email-clients.txt Documentation/email-clients.txt: add some info about gmail 2008-11-06 15:41:19 -08:00
exception.txt
feature-removal-schedule.txt Merge branch 'next' into for-linus 2009-01-07 09:58:22 +11:00
ftrace.txt ftrace: improve documentation 2008-11-28 13:15:14 +01:00
gpio.txt gpiolib: request/free hooks 2008-10-16 11:21:40 -07:00
highuid.txt
hw_random.txt
ics932s401 ics932s401: new clock generator chip driver 2008-11-12 17:17:18 -08:00
initrd.txt
io-mapping.txt io mapping: improve documentation 2008-11-03 18:21:44 +01:00
io_ordering.txt
iostats.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt documentation: how to use DOC: section blocks 2009-01-06 15:59:28 -08:00
kernel-docs.txt
kernel-parameters.txt resource: allow MMIO exclusivity for device drivers 2009-01-07 11:12:32 -08:00
keys-request-key.txt
keys.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
kobject.txt kobject: Make Documentation/kobject.txt a little more coherent. 2009-01-06 10:44:32 -08:00
kprobes.txt kprobes: support probing module __exit function 2009-01-06 15:59:21 -08:00
kref.txt
ldm.txt
leds-class.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
local_ops.txt documentation: local_ops fix on_each_cpu 2008-12-01 13:51:26 +01:00
lockdep-design.txt
lockstat.txt lockstat: contend with points 2008-10-20 15:43:10 +02:00
logo.gif
logo.txt
magic-number.txt documentation: update header file paths 2009-01-06 15:59:28 -08:00
markers.txt markers: comment marker_synchronize_unregister() on data dependency 2008-11-28 16:47:41 +01:00
mca.txt
md.txt md: Tidy up rdev_size_store a bit: 2008-07-21 14:22:18 +10:00
memory-barriers.txt
memory-hotplug.txt mm: show node to memory section relationship with symlinks in sysfs 2009-01-06 15:59:00 -08:00
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt x86, nmi-watchdog: update procfs nmi_watchdog file documentation v2 2008-10-30 19:07:04 +01:00
nommu-mmap.txt
numastat.txt
oops-tracing.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
printk-formats.txt DOC: add printk-formats.txt 2008-11-12 17:17:17 -08:00
prio_tree.txt
rbtree.txt
rfkill.txt rfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input 2008-10-31 19:00:09 -04:00
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
sparse.txt kbuild: sparse needs CF not CHECKFLAGS 2008-07-25 22:12:39 +02:00
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt Update stable tree documentation 2008-10-29 15:03:49 -07:00
svga.txt
sysfs-rules.txt sysfs-rules.txt: reword API stability statement 2008-07-21 21:54:59 -07:00
sysrq.txt Merge branch 'v28-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-20 13:19:56 -07:00
tracepoints.txt tracepoints: Documentation TPPROTO misspelt in Documentation/tracepoints.txt 2008-11-29 15:13:42 +01:00
unaligned-memory-access.txt introduce HAVE_EFFICIENT_UNALIGNED_ACCESS Kconfig symbol 2008-07-25 10:53:27 -07:00
unicode.txt
unshare.txt
video-output.txt
volatile-considered-harmful.txt Documentation cleanup: trivial misspelling, punctuation, and grammar corrections. 2008-07-26 12:00:06 -07:00
voyager.txt
zorro.txt