diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 04:52:41 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 04:52:41 -0400 |
commit | 0637a70a5db98182d9ad3d6ae1ee30acf20afde9 (patch) | |
tree | 36b625e24f3fe11a97cd9926ca2be6b2df1cbf89 /drivers/pci/pci.c | |
parent | 8f60774a116ced9b73ae3913d511687889efe725 (diff) |
[PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
Some buggy systems can machine check when config space accesses
happen for some non existent devices. i386/x86-64 do some early
device scans that might trigger this. Allow pci=noearly to disable
this. Also when type 1 is disabling also don't do any early
accesses which are always type1.
This moves the pci= configuration parsing to be a early parameter.
I don't think this can break anything because it only changes
a single global that is only used by PCI.
Cc: gregkh@suse.de
Cc: Trammell Hudson <hudson@osresearch.net>
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 9f79dd6d51ab..684deb6b03aa 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -953,13 +953,12 @@ static int __devinit pci_setup(char *str) | |||
953 | } | 953 | } |
954 | str = k; | 954 | str = k; |
955 | } | 955 | } |
956 | return 1; | 956 | return 0; |
957 | } | 957 | } |
958 | early_param("pci", pci_setup); | ||
958 | 959 | ||
959 | device_initcall(pci_init); | 960 | device_initcall(pci_init); |
960 | 961 | ||
961 | __setup("pci=", pci_setup); | ||
962 | |||
963 | #if defined(CONFIG_ISA) || defined(CONFIG_EISA) | 962 | #if defined(CONFIG_ISA) || defined(CONFIG_EISA) |
964 | /* FIXME: Some boxes have multiple ISA bridges! */ | 963 | /* FIXME: Some boxes have multiple ISA bridges! */ |
965 | struct pci_dev *isa_bridge; | 964 | struct pci_dev *isa_bridge; |