rpms/kernel/F-8 linux-2.6-defaults-nommconf.patch, NONE, 1.1 config-x86-generic, 1.15, 1.16 config-x86_64-generic, 1.12, 1.13 kernel.spec, 1.250, 1.251

Dave Jones (davej) fedora-extras-commits at redhat.com
Tue Oct 30 16:49:08 UTC 2007


Author: davej

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22776

Modified Files:
	config-x86-generic config-x86_64-generic kernel.spec 
Added Files:
	linux-2.6-defaults-nommconf.patch 
Log Message:
* Tue Oct 30 2007 Dave Jones <davej at redhat.com>
- Disable PCI MMCONFIG by default. (Boot with pci=msi if you need it)
  Works around bz 329241 amongst others.


linux-2.6-defaults-nommconf.patch:

--- NEW FILE linux-2.6-defaults-nommconf.patch ---
--- linux-2.6.23.noarch/Documentation/kernel-parameters.txt~	2007-10-30 03:53:31.000000000 -0400
+++ linux-2.6.23.noarch/Documentation/kernel-parameters.txt	2007-10-30 03:54:02.000000000 -0400
@@ -1273,6 +1273,8 @@ and is between 256 and 4096 characters. 
 				Mechanism 1.
 		conf2		[X86-32] Force use of PCI Configuration
 				Mechanism 2.
+		mmconf		[IA-32,X86_64] Enable use of MMCONFIG for PCI
+				Configuration
 		nommconf	[X86-32,X86_64] Disable use of MMCONFIG for PCI
 				Configuration
 		nomsi		[MSI] If the PCI_MSI kernel config parameter is
--- vanilla/arch/i386/Kconfig	2007-10-09 16:31:38.000000000 -0400
+++ linux-2.6.23.noarch/arch/i386/Kconfig	2007-10-30 12:18:06.000000000 -0400
@@ -1137,6 +1139,16 @@ config PCI_MMCONFIG
 	depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
 	default y
 
+config PCI_MMCONFIG_OFF_BY_DEFAULT
+        bool "Disable PCI MMCONFIG by default"
+        depends on PCI_MMCONFIG
+        help
+          A lot of machines have broken BIOS tables which means that kernels
+          built with PCI_MMCONFIG enabled fail to boot.  As a compromise, enabling
+          this option allows the ability to build a kernel capable of using
+	  mmconf PCI accesses if booted with pci=msi
+	  Distribution kernels will likely need this option.
+
 source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
--- vanilla/arch/x86_64/Kconfig	2007-10-09 16:31:38.000000000 -0400
+++ linux-2.6.23.noarch/arch/x86_64/Kconfig	2007-10-30 12:18:19.000000000 -0400
@@ -724,6 +744,16 @@ config PCI_MMCONFIG
 	bool "Support mmconfig PCI config space access"
 	depends on PCI && ACPI
 
+config PCI_MMCONFIG_OFF_BY_DEFAULT
+        bool "Disable PCI MMCONFIG by default"
+        depends on PCI_MMCONFIG
+        help
+          A lot of machines have broken BIOS tables which means that kernels
+          built with PCI_MMCONFIG enabled fail to boot.  As a compromise, enabling
+          this option allows the ability to build a kernel capable of using
+          mmconf PCI accesses if booted with pci=msi
+          Distribution kernels will likely need this option.
+
 source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
--- linux-2.6.23.noarch/arch/i386/pci/common.c~	2007-10-30 12:35:05.000000000 -0400
+++ linux-2.6.23.noarch/arch/i386/pci/common.c	2007-10-30 12:35:52.000000000 -0400
@@ -18,7 +18,7 @@
 #include "pci.h"
 
 unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 |
-				PCI_PROBE_MMCONF;
+				PCI_PROBE_MMCONF_DEFAULT;
 
 static int pci_bf_sort;
 int pci_routeirq;
@@ -399,6 +399,10 @@ char * __devinit  pcibios_setup(char *st
 		pci_probe &= ~PCI_PROBE_MMCONF;
 		return NULL;
 	}
+	else if (!strcmp(str, "mmconf")) {
+		pci_probe |= PCI_PROBE_MMCONF;
+		return NULL;
+	}
 #endif
 	else if (!strcmp(str, "noacpi")) {
 		acpi_noirq_set();
--- linux-2.6.23.noarch/arch/i386/pci/pci.h~	2007-10-30 12:36:06.000000000 -0400
+++ linux-2.6.23.noarch/arch/i386/pci/pci.h	2007-10-30 12:36:32.000000000 -0400
@@ -19,6 +19,12 @@
 #define PCI_PROBE_MASK		0x000f
 #define PCI_PROBE_NOEARLY	0x0010
 
+#ifdef CONFIG_PCI_MMCONFIG_OFF_BY_DEFAULT
+# define PCI_PROBE_MMCONF_DEFAULT	0
+#else
+# define PCI_PROBE_MMCONF_DEFAULT	PCI_PROBE_MMCONF
+#endif
+
 #define PCI_NO_SORT		0x0100
 #define PCI_BIOS_SORT		0x0200
 #define PCI_NO_CHECKS		0x0400


Index: config-x86-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/config-x86-generic,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- config-x86-generic	25 Oct 2007 20:52:52 -0000	1.15
+++ config-x86-generic	30 Oct 2007 16:48:32 -0000	1.16
@@ -217,6 +217,7 @@
 
 CONFIG_PCI_DIRECT=y
 CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_MMCONFIG_OFF_BY_DEFAULT=y
 CONFIG_PCI_BIOS=y
 
 CONFIG_HOTPLUG_PCI=y


Index: config-x86_64-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/config-x86_64-generic,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- config-x86_64-generic	29 Oct 2007 17:38:22 -0000	1.12
+++ config-x86_64-generic	30 Oct 2007 16:48:32 -0000	1.13
@@ -24,6 +24,7 @@
 CONFIG_EDD=m
 CONFIG_PCI_BIOS=y
 CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_MMCONFIG_OFF_BY_DEFAULT=y
 
 CONFIG_I2O=m
 CONFIG_I2O_BLOCK=m


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.250
retrieving revision 1.251
diff -u -r1.250 -r1.251
--- kernel.spec	29 Oct 2007 20:51:09 -0000	1.250
+++ kernel.spec	30 Oct 2007 16:48:32 -0000	1.251
@@ -635,6 +635,7 @@
 Patch610: linux-2.6-defaults-fat-utf8.patch
 Patch620: linux-2.6-defaults-unicode-vt.patch
 Patch630: linux-2.6-defaults-nonmi.patch
+Patch640: linux-2.6-defaults-nommconf.patch
 Patch660: linux-2.6-libata-ali-atapi-dma.patch
 Patch661: linux-2.6-libata-acpi-enable.patch
 Patch662: linux-2.6-libata-add-dma-disable-option.patch
@@ -1175,6 +1176,8 @@
 ApplyPatch linux-2.6-defaults-unicode-vt.patch
 # Disable NMI watchdog by default.
 ApplyPatch linux-2.6-defaults-nonmi.patch
+# Disable PCI MMCONFIG by default.
+ApplyPatch linux-2.6-defaults-nommconf.patch
 
 # Disable ATAPI DMA on ALI chipsets.
 ApplyPatch linux-2.6-libata-ali-atapi-dma.patch
@@ -1887,6 +1890,10 @@
 
 
 %changelog
+* Tue Oct 30 2007 Dave Jones <davej at redhat.com>
+- Disable PCI MMCONFIG by default. (Boot with pci=msi if you need it)
+  Works around bz 329241 amongst others.
+
 * Mon Oct 29 2007 Chuck Ebbert <cebbert at redhat.com>
 - Enable hamradio drivers.
 




More information about the scm-commits mailing list