浏览代码

[PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI

This is useful on systems with broken PCI bus. Affects various
scans in x86-64 and i386's early ACPI quirk scan.

Cc: gregkh@suse.de
Cc: len.brown@intel.com
Cc: Trammell Hudson <hudson@osresearch.net>

Signed-off-by: Andi Kleen <ak@suse.de>
Andi Kleen 18 年之前
父节点
当前提交
f157cbb1eb
共有 5 个文件被更改,包括 10 次插入2 次删除
  1. 2 0
      arch/i386/kernel/acpi/Makefile
  2. 2 0
      arch/i386/kernel/setup.c
  3. 2 1
      arch/x86_64/Kconfig
  4. 2 1
      arch/x86_64/kernel/Makefile
  5. 2 0
      arch/x86_64/kernel/setup.c

+ 2 - 0
arch/i386/kernel/acpi/Makefile

@@ -1,5 +1,7 @@
 obj-$(CONFIG_ACPI)		+= boot.o
 obj-$(CONFIG_ACPI)		+= boot.o
+ifneq ($(CONFIG_PCI),)
 obj-$(CONFIG_X86_IO_APIC)	+= earlyquirk.o
 obj-$(CONFIG_X86_IO_APIC)	+= earlyquirk.o
+endif
 obj-$(CONFIG_ACPI_SLEEP)	+= sleep.o wakeup.o
 obj-$(CONFIG_ACPI_SLEEP)	+= sleep.o wakeup.o
 
 
 ifneq ($(CONFIG_ACPI_PROCESSOR),)
 ifneq ($(CONFIG_ACPI_PROCESSOR),)

+ 2 - 0
arch/i386/kernel/setup.c

@@ -1437,9 +1437,11 @@ void __init setup_arch(char **cmdline_p)
 	acpi_boot_table_init();
 	acpi_boot_table_init();
 #endif
 #endif
 
 
+#ifdef CONFIG_PCI
 #ifdef CONFIG_X86_IO_APIC
 #ifdef CONFIG_X86_IO_APIC
 	check_acpi_pci();	/* Checks more than just ACPI actually */
 	check_acpi_pci();	/* Checks more than just ACPI actually */
 #endif
 #endif
+#endif
 
 
 #ifdef CONFIG_ACPI
 #ifdef CONFIG_ACPI
 	acpi_boot_init();
 	acpi_boot_init();

+ 2 - 1
arch/x86_64/Kconfig

@@ -105,6 +105,7 @@ config X86_PC
 
 
 config X86_VSMP
 config X86_VSMP
 	bool "Support for ScaleMP vSMP"
 	bool "Support for ScaleMP vSMP"
+	depends on PCI
 	 help
 	 help
 	  Support for ScaleMP vSMP systems.  Say 'Y' here if this kernel is
 	  Support for ScaleMP vSMP systems.  Say 'Y' here if this kernel is
 	  supposed to run on these EM64T-based machines.  Only choose this option
 	  supposed to run on these EM64T-based machines.  Only choose this option
@@ -291,7 +292,7 @@ config NUMA
 
 
 config K8_NUMA
 config K8_NUMA
        bool "Old style AMD Opteron NUMA detection"
        bool "Old style AMD Opteron NUMA detection"
-       depends on NUMA
+       depends on NUMA && PCI
        default y
        default y
        help
        help
 	 Enable K8 NUMA node topology detection.  You should say Y here if
 	 Enable K8 NUMA node topology detection.  You should say Y here if

+ 2 - 1
arch/x86_64/kernel/Makefile

@@ -8,7 +8,7 @@ obj-y	:= process.o signal.o entry.o traps.o irq.o \
 		ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_x86_64.o \
 		ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_x86_64.o \
 		x8664_ksyms.o i387.o syscall.o vsyscall.o \
 		x8664_ksyms.o i387.o syscall.o vsyscall.o \
 		setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o \
 		setup64.o bootflag.o e820.o reboot.o quirks.o i8237.o \
-		pci-dma.o pci-nommu.o alternative.o early-quirks.o
+		pci-dma.o pci-nommu.o alternative.o
 
 
 obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
 obj-$(CONFIG_STACKTRACE)	+= stacktrace.o
 obj-$(CONFIG_X86_MCE)         += mce.o
 obj-$(CONFIG_X86_MCE)         += mce.o
@@ -39,6 +39,7 @@ obj-$(CONFIG_K8_NB)		+= k8.o
 obj-$(CONFIG_AUDIT)		+= audit.o
 obj-$(CONFIG_AUDIT)		+= audit.o
 
 
 obj-$(CONFIG_MODULES)		+= module.o
 obj-$(CONFIG_MODULES)		+= module.o
+obj-$(CONFIG_PCI)		+= early-quirks.o
 
 
 obj-y				+= topology.o
 obj-y				+= topology.o
 obj-y				+= intel_cacheinfo.o
 obj-y				+= intel_cacheinfo.o

+ 2 - 0
arch/x86_64/kernel/setup.c

@@ -493,7 +493,9 @@ void __init setup_arch(char **cmdline_p)
 
 
 	paging_init();
 	paging_init();
 
 
+#ifdef CONFIG_PCI
 	early_quirks();
 	early_quirks();
+#endif
 
 
 	/*
 	/*
 	 * set this early, so we dont allocate cpu0
 	 * set this early, so we dont allocate cpu0