WSL2-Linux-Kernel/Documentation
Gary Hade 62f420f828 PCI: use _CRS for PCI resource allocation
Use _CRS for PCI resource allocation

This patch resolves an issue where incorrect PCI memory and i/o ranges
are being assigned to hotplugged PCI devices on some IBM systems.  The
resource mis-allocation not only makes the PCI device unuseable but
often makes the entire system unuseable due to resulting machine checks.

The hotplug capable PCI slots on the affected systems are not located
under a standard P2P bridge but are instead located under PCI root
bridges or subtractive decode P2P bridges.  For example, the IBM x3850
contains 2 hotplug capable PCI-X slots and 4 hotplug capable PCIe slots
with the PCI-X slots each located under a PCI root bridge and the PCIe
slots each located under a subtractive decode P2P bridge.

The current i386/x86_64 PCI resource allocation code does not use _CRS
returned resource information.  No other resource information source is
available for slots that are not below a standard P2P bridge so
incorrect ranges are being allocated from e820 hole causing the bad
result.

This patch causes the kernel to use _CRS returned resource info.  It is
roughly based on a change provided by Matthew Wilcox for the ia64 kernel
in 2005.  Due to possible buggy BIOS factor and possible yet to be
discovered kernel issues the function is disabled by default and can be
enabled with pci=use_crs.

Signed-off-by: Gary Hade <gary.hade@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 15:03:18 -07:00
..
ABI USB: add power/persist device attribute 2007-07-12 16:34:30 -07:00
DocBook [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
RCU Document the fact that RCU callbacks can run in parallel 2007-07-16 09:05:47 -07:00
accounting Documentation: fix getdelays.c printf bug 2007-08-22 19:52:44 -07:00
aoe
arm documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
auxdisplay documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
blackfin Blackfin arch: kgdb specific code 2007-06-29 16:35:17 +08:00
block Corrections in Documentation/block/ioprio.txt 2007-10-10 09:25:57 +02:00
cdrom remove the documentation for the legacy CDROM drivers 2007-07-16 14:39:04 +02:00
connector some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
console Typo: fro -> from 2007-07-19 10:04:47 -07:00
cpu-freq misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
cris
crypto async_tx: usage documentation and developer notes (v2) 2007-09-24 10:26:25 -07:00
device-mapper dm: delay target 2007-05-09 12:30:47 -07:00
driver-model Documentation fix devres.txt: lib/iomap.c -> lib/devres.c 2007-07-18 15:49:49 -07:00
drivers/edac drivers/edac: add to edac docs 2007-07-19 10:04:57 -07:00
dvb V4L/DVB (6252): Adapt drivers to use the newer videobuf modules 2007-10-09 22:14:55 -03:00
early-userspace
fault-injection fault-injection: fix example scripts in documentation 2007-07-16 09:05:45 -07:00
fb pvr2fb: update Documentation/fb/pvr2fb.txt 2007-08-11 15:47:40 -07:00
filesystems Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 2007-09-11 17:23:16 -07:00
firmware_class sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes 2007-07-11 16:09:09 -07:00
fujitsu/frv misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
hrtimer Add a flag to indicate deferrable timers in /proc/timer_stats 2007-07-16 09:05:45 -07:00
hrtimers [PATCH] hrtimers: move and add documentation 2007-02-16 08:13:58 -08:00
hwmon hwmon: (adm1031) Fix broken links in documentation 2007-07-30 21:13:43 -04:00
i2c i2c-piix4: Fix SB700 PCI device ID 2007-08-31 01:42:23 -07:00
i2o documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
i386 i386: Add warning in Documentation that zero-page is not a stable ABI 2007-08-11 15:58:14 -07:00
ia64 [IA64] prevent MCA when performing MMIO mmap to PCI config space 2007-07-11 11:34:49 -07:00
infiniband IB/umad: Add P_Key index support 2007-10-09 19:59:15 -07:00
input Fix CRLF line endings in Documentation/input/iforce-protocol.txt 2007-09-20 11:33:45 -07:00
ioctl [PATCH] Document how to decode an IOCTL number 2006-12-10 09:55:40 -08:00
isdn documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
ja_JP HOWTO: sync Japanese HOWTO 2007-07-30 14:25:11 -07:00
kbuild docs: note about select in kconfig-language.txt 2007-08-11 15:47:41 -07:00
kdump [PATCH] PPC64 Kdump documentation update 2007-02-20 17:10:15 -08:00
ko_KR HOWTO: korean translation of Documentation/HOWTO 2007-08-22 14:35:35 -07:00
lguest i386/x86_64: move headers to include/asm-x86 2007-10-11 11:20:03 +02:00
m68k more ACSI removal 2007-07-16 15:02:47 +02:00
mips [MIPS] Delete Documentation/mips/pci/pci.README 2007-05-11 14:28:30 +01:00
netlabel Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
networking [DCCP]: Correct documentation 2007-10-10 16:54:37 -07:00
parisc
pcmcia add new_id to PCMCIA drivers 2007-05-07 12:12:50 -07:00
power Documentation:reference notifiers.txt in freezing-of-tasks.txt 2007-07-21 17:49:16 -07:00
powerpc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
s390 [S390] cio: Update documentation. 2007-05-21 11:25:27 +02:00
scsi [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation. 2007-07-14 19:09:28 -05:00
serial
sh sh: SH7722 clock framework support. 2007-05-07 02:11:56 +00:00
sound [ALSA] hda-intel: support for iMac 24'' released on 09/2006 2007-07-20 11:12:00 +02:00
sparc
spi spidev_test utility 2007-07-31 15:39:40 -07:00
sysctl handle kernelcore=: generic 2007-07-17 10:22:59 -07:00
telephony
uml Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
usb USB: usb/dma doc updates 2007-07-12 16:34:42 -07:00
video4linux V4L/DVB (6295): saa7134: add autodetection for KWorld ATSC-115 2007-10-10 00:03:15 -03:00
vm Document Linux Memory Policy 2007-08-22 19:52:44 -07:00
w1
watchdog [WATCHDOG] Add a 00-INDEX file to Documentation/watchdog/ 2007-08-16 20:28:36 +00:00
x86_64 x86_64: mcelog tolerant level cleanup 2007-07-21 18:37:10 -07:00
zh_CN zh_CN/HOWTO: update URLs of git trees 2007-07-18 16:02:12 -07:00
00-INDEX Documentation/00-INDEX: notice ecryptfs.txt moved 2007-09-11 17:21:19 -07:00
BUG-HUNTING Documentation: How to use GDB to decode OOPSes 2007-06-01 08:18:28 -07:00
Changes [x86 setup] Document grub < 0.93 as broken 2007-08-02 13:50:43 -04:00
CodingStyle dev_vdbg() documentation 2007-07-18 15:49:50 -07:00
DMA-API.txt dma_free_coherent() needs irqs enabled (sigh) 2007-10-12 15:03:15 -07:00
DMA-ISA-LPC.txt Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
DMA-mapping.txt PCI: remove pci_dac_dma_... APIs 2007-07-11 16:02:11 -07:00
HOWTO HOWTO: latest lxr url address changed 2007-08-22 14:35:35 -07:00
IO-mapping.txt
IPMI.txt [PATCH] IPMI: system interface hotplug 2006-12-07 08:39:47 -08:00
IRQ-affinity.txt
IRQ.txt
MSI-HOWTO.txt PCI: Remove no longer correct documentation regarding MSI vector assignment 2007-10-12 15:03:16 -07:00
ManagementStyle Fix this Paul Simon song's name 2007-09-13 08:11:10 -07:00
PCIEBUS-HOWTO.txt
README.DAC960
README.cycladesZ
SAK.txt
SM501.txt SM501: Add Documentation/SM501.txt 2007-06-24 08:59:11 -07:00
SecurityBugs
SubmitChecklist SubmitChecklist update, fix spelling error 2007-07-16 09:05:46 -07:00
SubmittingDrivers Documentation: Ask driver writers to provide PM support 2007-05-08 11:14:59 -07:00
SubmittingPatches fix typo in Documentation/SubmittingPatches 2007-09-11 17:21:20 -07:00
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt Documentation/atomic_ops.txt typo fix 2007-06-08 17:23:33 -07:00
basic_profiling.txt
binfmt_misc.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
cachetlb.txt [POWERPC] unmap_vm_area becomes unmap_kernel_range for the public 2007-06-14 22:29:56 +10:00
cciss.txt Documentation: cciss: detecting failed drives 2007-05-08 11:15:10 -07:00
cli-sti-removal.txt
computone.txt
cpqarray.txt
cpu-hotplug.txt Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
cpu-load.txt [PATCH] Documentation: CPU load calculation description 2007-03-01 14:53:39 -08:00
cpusets.txt [PATCH] CPUSETS: add mems to basic usage documentation 2007-04-02 10:06:08 -07:00
cputopology.txt
dcdbas.txt
debugging-modules.txt
dell_rbu.txt
devices.txt Add /dev/oldmem to devices.txt documentation 2007-10-01 07:52:23 -07:00
digiepca.txt
dnotify.txt
dontdiff update dontdiff file 2007-07-31 15:39:36 -07:00
eisa.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
exception.txt
feature-removal-schedule.txt Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
floppy.txt
gpio.txt minor gpio doc update 2007-07-24 12:24:59 -07:00
hayes-esp.txt
highuid.txt
hpet.txt hpet.txt: broken link fix 2007-07-31 15:39:42 -07:00
hw_random.txt
ide.txt ide: make legacy IDE VLB modules check for the "probe" kernel params (v2) 2007-03-03 17:48:55 +01:00
initrd.txt documentation: Documentation/initrd.txt 2007-05-23 20:14:14 -07:00
io_ordering.txt
ioctl-number.txt Remove the last few UMSDOS leftovers 2007-07-16 09:05:51 -07:00
iostats.txt [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
irqflags-tracing.txt
isapnp.txt
java.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
kernel-doc-nano-HOWTO.txt [PATCH] Discuss a couple common errors in kernel-doc usage. 2007-02-11 10:51:32 -08:00
kernel-docs.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
kernel-parameters.txt PCI: use _CRS for PCI resource allocation 2007-10-12 15:03:18 -07:00
keys-request-key.txt
keys.txt Fix a typo in Documentation/keys.txt 2007-07-31 15:39:39 -07:00
kobject.txt kobject: update documentation 2007-07-30 14:25:13 -07:00
kprobes.txt jprobes: remove JPROBE_ENTRY() 2007-07-19 10:04:44 -07:00
kref.txt Fix wrong identifier name in Documentation/kref.txt 2007-05-11 19:07:14 +02:00
laptop-mode.txt laptop-mode URL update 2007-05-08 11:15:14 -07:00
ldm.txt LDM: Fix for Windows Vista dynamic disks 2007-05-21 09:58:40 -07:00
leds-class.txt
local_ops.txt [PATCH] local_t: Documentation 2007-02-11 10:51:32 -08:00
lockdep-design.txt
locks.txt
lockstat.txt lockstat: documentation 2007-10-07 16:28:43 -07:00
logo.gif
logo.txt
magic-number.txt Magic number prefix consistency change to Documentation/magic-number.txt 2007-05-09 08:58:18 +02:00
mandatory.txt
mca.txt
md.txt md: allow reshape_position for md arrays to be set via sysfs 2007-05-09 12:30:57 -07:00
memory-barriers.txt Documentation/memory-barriers.txt: various fixes 2007-05-23 20:14:15 -07:00
memory-hotplug.txt Memory hotplug document 2007-08-11 15:47:41 -07:00
memory.txt
mono.txt
moxa-smartio
mtrr.txt
mutex-design.txt
nbd.txt
nfsroot.txt [PATCH] fix the defaults mentioned in Documentation/nfsroot.txt 2007-02-12 09:48:28 -08:00
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
paride.txt
parport-lowlevel.txt
parport.txt
pci-error-recovery.txt
pci.txt PCI: add pci_try_set_mwi 2007-07-11 16:02:11 -07:00
pcieaer-howto.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
pi-futex.txt
pm.txt
pnp.txt misc doc and kconfig typos 2007-05-09 08:58:15 +02:00
power_supply_class.txt [BATTERY] Universal power supply class (was: battery class) 2007-07-10 11:25:44 +01:00
preempt-locking.txt
prio_tree.txt
ramdisk.txt
rbtree.txt [PATCH] Documentation/rbtree.txt 2007-02-11 10:51:35 -08:00
rfkill.txt [RFKILL]: Add rfkill documentation 2007-10-10 16:49:24 -07:00
riscom8.txt
robust-futex-ABI.txt Fix typos in /Documentation : 'U-Z' 2006-11-30 04:58:40 +01:00
robust-futexes.txt Fix typos in /Documentation : Misc 2006-11-30 05:21:10 +01:00
rocket.txt
rpc-cache.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt rtc: make example code jump to done instead of return when ioctl not supported 2007-07-17 10:23:08 -07:00
sched-arch.txt
sched-coding.txt
sched-design-CFS.txt sched: mention CONFIG_SCHED_DEBUG in documentation 2007-08-09 11:16:46 +02:00
sched-design.txt
sched-domains.txt
sched-nice-design.txt sched: document nice levels 2007-08-09 11:16:46 +02:00
sched-stats.txt [PATCH] sched: update Documentation/sched-stats.txt 2007-07-26 13:40:43 +02:00
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
sharedsubtree.txt Fix typos in /Documentation : 'T'' 2006-11-30 04:55:36 +01:00
smart-config.txt
smp.txt
sony-laptop.txt sony-laptop: update documentation and Kconfig help 2007-04-10 16:01:19 -04:00
sonypi.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
sparse.txt [PATCH] update 'getting sparse' info. 2007-03-08 16:47:58 -08:00
specialix.txt
spinlocks.txt docs: static initialization of spinlocks is OK 2007-07-16 09:05:52 -07:00
stable_api_nonsense.txt stable_api_nonsense.txt: Disambiguate the use of "this" by using "that" to refer to the syscall interface 2007-07-30 14:25:12 -07:00
stable_kernel_rules.txt Fix typos in /Documentation : Misc 2006-11-30 05:21:10 +01:00
stallion.txt
svga.txt
sx.txt
sysfs-rules.txt Fix Doc/sysfs-rules typos 2007-07-30 14:25:12 -07:00
sysrq.txt sysrq docs: document sequence that actually works 2007-10-07 16:28:43 -07:00
thinkpad-acpi.txt ACPI: thinkpad-acpi: bump up version to 0.16 2007-09-17 00:58:31 -04:00
tipar.txt
tty.txt tty: Clarify documentation of ->write() 2007-05-08 11:14:59 -07:00
unicode.txt
unshare.txt
video-output.txt output: Add output class document 2006-12-20 01:46:58 -05:00
volatile-considered-harmful.txt "volatile considered harmful" 2007-06-24 08:59:11 -07:00
voyager.txt
xterm-linux.xpm
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/