diff --git a/src/Kconfig b/src/Kconfig
index 6bb8135..29731b3 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -203,6 +203,11 @@
 config ARCH_X86
 	bool
 	default n
+	select PCI
+
+config ARCH_ARM
+	bool
+	default n
 
 config ARCH_ARMV7
 	bool
diff --git a/src/devices/Kconfig b/src/devices/Kconfig
index 72e8a53..700516b 100644
--- a/src/devices/Kconfig
+++ b/src/devices/Kconfig
@@ -175,28 +175,38 @@
 	bool
 	default n
 
+config PCI
+	bool
+	default n
+
 config PCI_64BIT_PREF_MEM
 	bool
+	depends on PCI
 	default n
 
 config HYPERTRANSPORT_PLUGIN_SUPPORT
 	bool
+	depends on PCI
 	default n
 
 config PCIX_PLUGIN_SUPPORT
 	bool
+	depends on PCI
 	default y
 
 config PCIEXP_PLUGIN_SUPPORT
 	bool
+	depends on PCI
 	default y
 
 config AGP_PLUGIN_SUPPORT
 	bool
+	depends on PCI
 	default y
 
 config CARDBUS_PLUGIN_SUPPORT
 	bool
+	depends on PCI
 	default y
 
 config PCIEXP_COMMON_CLOCK
diff --git a/src/devices/Makefile.inc b/src/devices/Makefile.inc
index 9d4b391..9fe156b 100644
--- a/src/devices/Makefile.inc
+++ b/src/devices/Makefile.inc
@@ -2,14 +2,14 @@
 ramstage-y += root_device.c
 ramstage-y += cpu_device.c
 ramstage-y += device_util.c
-ramstage-y += pci_device.c
+ramstage-$(CONFIG_PCI) += pci_device.c
 ramstage-$(CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT) += hypertransport.c
 ramstage-$(CONFIG_PCIX_PLUGIN_SUPPORT) += pcix_device.c
-ramstage-y += pciexp_device.c
+ramstage-$(CONFIG_PCIEXP_PLUGIN_SUPPORT) += pciexp_device.c
 ramstage-$(CONFIG_AGP_PLUGIN_SUPPORT) += agp_device.c
 ramstage-$(CONFIG_CARDBUS_PLUGIN_SUPPORT) += cardbus_device.c
-ramstage-y += pnp_device.c
-ramstage-y += pci_ops.c
+ramstage-$(CONFIG_ARCH_X86) += pnp_device.c
+ramstage-$(CONFIG_PCI) += pci_ops.c
 ramstage-y += smbus_ops.c
 
 romstage-y+= device_romstage.c
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index d9e6b27..ff334fe 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -756,11 +756,10 @@
  */
 static struct device_operations *get_pci_bridge_ops(device_t dev)
 {
-	unsigned int pos;
-
 #if CONFIG_PCIX_PLUGIN_SUPPORT
-	pos = pci_find_capability(dev, PCI_CAP_ID_PCIX);
-	if (pos) {
+	unsigned int pcixpos;
+	pcixpos = pci_find_capability(dev, PCI_CAP_ID_PCIX);
+	if (pcixpos) {
 		printk(BIOS_DEBUG, "%s subordinate bus PCI-X\n", dev_path(dev));
 		return &default_pcix_ops_bus;
 	}
@@ -769,10 +768,10 @@
 	/* How do I detect a PCI to AGP bridge? */
 #endif
 #if CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT
-	pos = 0;
-	while ((pos = pci_find_next_capability(dev, PCI_CAP_ID_HT, pos))) {
+	unsigned int htpos = 0;
+	while ((htpos = pci_find_next_capability(dev, PCI_CAP_ID_HT, htpos))) {
 		u16 flags;
-		flags = pci_read_config16(dev, pos + PCI_CAP_FLAGS);
+		flags = pci_read_config16(dev, htpos + PCI_CAP_FLAGS);
 		if ((flags >> 13) == 1) {
 			/* Host or Secondary Interface */
 			printk(BIOS_DEBUG, "%s subordinate bus HT\n",
@@ -782,10 +781,11 @@
 	}
 #endif
 #if CONFIG_PCIEXP_PLUGIN_SUPPORT
-	pos = pci_find_capability(dev, PCI_CAP_ID_PCIE);
-	if (pos) {
+	unsigned int pciexpos;
+	pciexpos = pci_find_capability(dev, PCI_CAP_ID_PCIE);
+	if (pciexpos) {
 		u16 flags;
-		flags = pci_read_config16(dev, pos + PCI_EXP_FLAGS);
+		flags = pci_read_config16(dev, pciexpos + PCI_EXP_FLAGS);
 		switch ((flags & PCI_EXP_FLAGS_TYPE) >> 4) {
 		case PCI_EXP_TYPE_ROOT_PORT:
 		case PCI_EXP_TYPE_UPSTREAM:
