obj-$(CONFIG_ACPI)             += boot.o
+ifneq ($(CONFIG_PCI),)
 obj-$(CONFIG_X86_IO_APIC)      += earlyquirk.o
+endif
 obj-$(CONFIG_ACPI_SLEEP)       += sleep.o wakeup.o
 
 ifneq ($(CONFIG_ACPI_PROCESSOR),)
 
        acpi_boot_table_init();
 #endif
 
+#ifdef CONFIG_PCI
 #ifdef CONFIG_X86_IO_APIC
        check_acpi_pci();       /* Checks more than just ACPI actually */
 #endif
+#endif
 
 #ifdef CONFIG_ACPI
        acpi_boot_init();
 
 
 config X86_VSMP
        bool "Support for ScaleMP vSMP"
+       depends on PCI
         help
          Support for ScaleMP vSMP systems.  Say 'Y' here if this kernel is
          supposed to run on these EM64T-based machines.  Only choose this option
 
 config K8_NUMA
        bool "Old style AMD Opteron NUMA detection"
-       depends on NUMA
+       depends on NUMA && PCI
        default y
        help
         Enable K8 NUMA node topology detection.  You should say Y here if
 
                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 \
                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_X86_MCE)         += mce.o
 obj-$(CONFIG_AUDIT)            += audit.o
 
 obj-$(CONFIG_MODULES)          += module.o
+obj-$(CONFIG_PCI)              += early-quirks.o
 
 obj-y                          += topology.o
 obj-y                          += intel_cacheinfo.o
 
 
        paging_init();
 
+#ifdef CONFIG_PCI
        early_quirks();
+#endif
 
        /*
         * set this early, so we dont allocate cpu0