aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/kernel-parameters.txt
diff options
context:
space:
mode:
authorMike Habeck <habeck@sgi.com>2010-05-12 14:14:32 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2010-07-30 12:29:12 -0400
commit7bd1c365fd124624191d49dcc1eb9759d6017ec3 (patch)
tree3e193b2061e02f4e04c51d14ce7a066c6e850bb2 /Documentation/kernel-parameters.txt
parent549e15611b4ac1de51ef0e0a79c2704f50a638a2 (diff)
x86/PCI: Add option to not assign BAR's if not already assigned
The Linux kernel assigns BARs that a BIOS did not assign, most likely to handle broken BIOSes that didn't enumerate the devices correctly. On UV the BIOS purposely doesn't assign I/O BARs for certain devices/ drivers we know don't use them (examples, LSI SAS, Qlogic FC, ...). We purposely don't assign these I/O BARs because I/O Space is a very limited resource. There is only 64k of I/O Space, and in a PCIe topology that space gets divided up into 4k chucks (this is due to the fact that a pci-to-pci bridge's I/O decoder is aligned at 4k)... Thus a system can have at most 16 cards with I/O BARs: (64k / 4k = 16) SGI needs to scale to >16 devices with I/O BARs. So by not assigning I/O BARs on devices we know don't use them, we can do that (iff the kernel doesn't go and assign these BARs that the BIOS purposely didn't assign). This patch will not assign a resource to a device BAR if that BAR was not assigned by the BIOS, and the kernel cmdline option 'pci=nobar' was specified. This patch is closely modeled after the 'pci=norom' option that currently exists in the tree. Signed-off-by: Mike Habeck <habeck@sgi.com> Signed-off-by: Mike Travis <travis@sgi.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'Documentation/kernel-parameters.txt')
-rw-r--r--Documentation/kernel-parameters.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 2b2407d9a6d0..4fac69beeb4f 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1970,6 +1970,8 @@ and is between 256 and 4096 characters. It is defined in the file
1970 norom [X86] Do not assign address space to 1970 norom [X86] Do not assign address space to
1971 expansion ROMs that do not already have 1971 expansion ROMs that do not already have
1972 BIOS assigned address ranges. 1972 BIOS assigned address ranges.
1973 nobar [X86] Do not assign address space to the
1974 BARs that weren't assigned by the BIOS.
1973 irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be 1975 irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be
1974 assigned automatically to PCI devices. You can 1976 assigned automatically to PCI devices. You can
1975 make the kernel exclude IRQs of your ISA cards 1977 make the kernel exclude IRQs of your ISA cards