Compile pci only once

Move coalesced_mmio declarations to a more accessible location.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
diff --git a/Makefile.objs b/Makefile.objs
index 1eb7e19..dd33ca4 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -129,7 +129,7 @@
 hw-obj-y =
 hw-obj-y += loader.o
 hw-obj-y += virtio.o virtio-console.o
-hw-obj-y += fw_cfg.o
+hw-obj-y += fw_cfg.o pci.o
 hw-obj-y += watchdog.o
 hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
 hw-obj-$(CONFIG_ECC) += ecc.o
diff --git a/Makefile.target b/Makefile.target
index b42dae2..fc8589c 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -161,7 +161,7 @@
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = vl.o monitor.o pci.o pci_host.o pcie_host.o machine.o gdbstub.o
+obj-y = vl.o monitor.o pci_host.o pcie_host.o machine.o gdbstub.o
 obj-y += qemu-timer.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
diff --git a/cpu-all.h b/cpu-all.h
index 897cd44..f281a91 100644
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -917,18 +917,6 @@
 
 void dump_exec_info(FILE *f,
                     int (*cpu_fprintf)(FILE *f, const char *fmt, ...));
-
-/* Coalesced MMIO regions are areas where write operations can be reordered.
- * This usually implies that write operations are side-effect free.  This allows
- * batching which can make a major impact on performance when using
- * virtualization.
- */
-void qemu_register_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size);
-
-void qemu_unregister_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size);
-
-void qemu_flush_coalesced_mmio_buffer(void);
-
 #endif /* !CONFIG_USER_ONLY */
 
 int cpu_memory_rw_debug(CPUState *env, target_ulong addr,
diff --git a/cpu-common.h b/cpu-common.h
index f53690a..bb05300 100644
--- a/cpu-common.h
+++ b/cpu-common.h
@@ -82,6 +82,17 @@
 void cpu_register_phys_memory_client(CPUPhysMemoryClient *);
 void cpu_unregister_phys_memory_client(CPUPhysMemoryClient *);
 
+/* Coalesced MMIO regions are areas where write operations can be reordered.
+ * This usually implies that write operations are side-effect free.  This allows
+ * batching which can make a major impact on performance when using
+ * virtualization.
+ */
+void qemu_register_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size);
+
+void qemu_unregister_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size);
+
+void qemu_flush_coalesced_mmio_buffer(void);
+
 uint32_t ldub_phys(target_phys_addr_t addr);
 uint32_t lduw_phys(target_phys_addr_t addr);
 uint32_t ldl_phys(target_phys_addr_t addr);