diff --git a/arch_init.c b/arch_init.c
index 4d3271b..d9aa752 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -39,12 +39,12 @@
 #include "hw/pci.h"
 #include "hw/audiodev.h"
 #include "kvm.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "exec/gdbstub.h"
 #include "hw/smbios.h"
 #include "exec/exec-memory.h"
 #include "hw/pcspk.h"
-#include "qemu/page_cache.h"
+#include "migration/page_cache.h"
 #include "qemu-config.h"
 #include "qmp-commands.h"
 #include "trace.h"
diff --git a/block-migration.c b/block-migration.c
index c15de9f..2d2dcbd 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -18,8 +18,8 @@
 #include "hw/hw.h"
 #include "qemu-queue.h"
 #include "qemu-timer.h"
-#include "block-migration.h"
-#include "migration.h"
+#include "migration/block.h"
+#include "migration/migration.h"
 #include "blockdev.h"
 #include <assert.h>
 
diff --git a/block/qcow.c b/block/qcow.c
index d13bd40..f366711 100644
--- a/block/qcow.c
+++ b/block/qcow.c
@@ -26,7 +26,7 @@
 #include "module.h"
 #include <zlib.h>
 #include "block/aes.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 /**************************************************************/
 /* QEMU COW block driver with compression and encryption support */
diff --git a/block/qed.c b/block/qed.c
index ca1fafb..10d0827 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -16,7 +16,7 @@
 #include "trace.h"
 #include "qed.h"
 #include "qapi/qmp/qerror.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 static void qed_aio_cancel(BlockDriverAIOCB *blockacb)
 {
diff --git a/block/vdi.c b/block/vdi.c
index dab9cac..b1d199a 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -52,7 +52,7 @@
 #include "qemu-common.h"
 #include "block/block_int.h"
 #include "module.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 #if defined(CONFIG_UUID)
 #include <uuid/uuid.h>
diff --git a/block/vmdk.c b/block/vmdk.c
index 68e50e1..77a1a67 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -26,7 +26,7 @@
 #include "qemu-common.h"
 #include "block/block_int.h"
 #include "module.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include <zlib.h>
 
 #define VMDK3_MAGIC (('C' << 24) | ('O' << 16) | ('W' << 8) | 'D')
diff --git a/block/vpc.c b/block/vpc.c
index caa50db..499b237 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -25,7 +25,7 @@
 #include "qemu-common.h"
 #include "block/block_int.h"
 #include "module.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 /**************************************************************/
 
diff --git a/block/vvfat.c b/block/vvfat.c
index fbabafc..a63c3ea 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -27,7 +27,7 @@
 #include "qemu-common.h"
 #include "block/block_int.h"
 #include "module.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 #ifndef S_IWGRP
 #define S_IWGRP 0
diff --git a/buffered_file.h b/buffered_file.h
index ef010fe..86a7075 100644
--- a/buffered_file.h
+++ b/buffered_file.h
@@ -15,7 +15,7 @@
 #define QEMU_BUFFERED_FILE_H
 
 #include "hw/hw.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 QEMUFile *qemu_fopen_ops_buffered(MigrationState *migration_state);
 
diff --git a/hw/9pfs/virtio-9p.c b/hw/9pfs/virtio-9p.c
index 8b9cdc9..ede20ce 100644
--- a/hw/9pfs/virtio-9p.c
+++ b/hw/9pfs/virtio-9p.c
@@ -20,7 +20,7 @@
 #include "virtio-9p-xattr.h"
 #include "virtio-9p-coth.h"
 #include "trace.h"
-#include "migration.h"
+#include "migration/migration.h"
 
 int open_fd_hw;
 int total_open_fd;
diff --git a/hw/hid.h b/hw/hid.h
index 5315cf7..100b121 100644
--- a/hw/hid.h
+++ b/hw/hid.h
@@ -1,7 +1,7 @@
 #ifndef QEMU_HID_H
 #define QEMU_HID_H
 
-#include "vmstate.h"
+#include "migration/vmstate.h"
 
 #define HID_MOUSE     1
 #define HID_TABLET    2
diff --git a/hw/hw.h b/hw/hw.h
index 4c15d83..c5e5cf3 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -11,8 +11,8 @@
 #include "ioport.h"
 #include "irq.h"
 #include "block/aio.h"
-#include "qemu-file.h"
-#include "vmstate.h"
+#include "migration/qemu-file.h"
+#include "migration/vmstate.h"
 #include "qemu-log.h"
 
 #ifdef NEED_CPU_H
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index de78bdb..45197c7 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -21,7 +21,7 @@
 #include "pci.h"
 #include "msix.h"
 #include "kvm.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "qapi/qmp/qerror.h"
 #include "event_notifier.h"
 #include "qemu-char.h"
diff --git a/hw/ptimer.h b/hw/ptimer.h
index 6638f61..9d172f7 100644
--- a/hw/ptimer.h
+++ b/hw/ptimer.h
@@ -10,7 +10,7 @@
 
 #include "qemu-common.h"
 #include "qemu-timer.h"
-#include "vmstate.h"
+#include "migration/vmstate.h"
 
 /* ptimer.c */
 typedef struct ptimer_state ptimer_state;
diff --git a/hw/shpc.h b/hw/shpc.h
index 130b71d..946c779 100644
--- a/hw/shpc.h
+++ b/hw/shpc.h
@@ -3,7 +3,7 @@
 
 #include "qemu-common.h"
 #include "memory.h"
-#include "vmstate.h"
+#include "migration/vmstate.h"
 
 struct SHPCDevice {
     /* Capability offset in device's config space */
diff --git a/block-migration.h b/include/migration/block.h
similarity index 100%
rename from block-migration.h
rename to include/migration/block.h
diff --git a/migration.h b/include/migration/migration.h
similarity index 99%
rename from migration.h
rename to include/migration/migration.h
index af444d4..a95f761 100644
--- a/migration.h
+++ b/include/migration/migration.h
@@ -18,7 +18,7 @@
 #include "qemu-common.h"
 #include "notify.h"
 #include "qapi/error.h"
-#include "vmstate.h"
+#include "migration/vmstate.h"
 #include "qapi-types.h"
 
 struct MigrationParams {
diff --git a/include/qemu/page_cache.h b/include/migration/page_cache.h
similarity index 100%
rename from include/qemu/page_cache.h
rename to include/migration/page_cache.h
diff --git a/qemu-file.h b/include/migration/qemu-file.h
similarity index 100%
rename from qemu-file.h
rename to include/migration/qemu-file.h
diff --git a/vmstate.h b/include/migration/vmstate.h
similarity index 100%
rename from vmstate.h
rename to include/migration/vmstate.h
diff --git a/include/net/net.h b/include/net/net.h
index 26dd0cf..41d3729 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -6,7 +6,7 @@
 #include "qapi/qmp/qdict.h"
 #include "qemu-option.h"
 #include "net/queue.h"
-#include "vmstate.h"
+#include "migration/vmstate.h"
 #include "qapi-types.h"
 
 struct MACAddr {
diff --git a/migration-exec.c b/migration-exec.c
index 3e55b77..784486d 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -17,7 +17,7 @@
 
 #include "qemu-common.h"
 #include "qemu_socket.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "buffered_file.h"
 #include "block/block.h"
 #include <sys/types.h>
diff --git a/migration-fd.c b/migration-fd.c
index 73a1dfc..ab5abe2 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -15,7 +15,7 @@
 
 #include "qemu-common.h"
 #include "qemu_socket.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "monitor/monitor.h"
 #include "buffered_file.h"
 #include "block/block.h"
diff --git a/migration-tcp.c b/migration-tcp.c
index 07f51f2..a36e637 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -15,7 +15,7 @@
 
 #include "qemu-common.h"
 #include "qemu_socket.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "buffered_file.h"
 #include "block/block.h"
 
diff --git a/migration-unix.c b/migration-unix.c
index 1b9c461..9debc95 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -15,7 +15,7 @@
 
 #include "qemu-common.h"
 #include "qemu_socket.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "buffered_file.h"
 #include "block/block.h"
 
diff --git a/migration.c b/migration.c
index 27a272e..0456983 100644
--- a/migration.c
+++ b/migration.c
@@ -14,13 +14,13 @@
  */
 
 #include "qemu-common.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "monitor/monitor.h"
 #include "buffered_file.h"
 #include "sysemu.h"
 #include "block/block.h"
 #include "qemu_socket.h"
-#include "block-migration.h"
+#include "migration/block.h"
 #include "qmp-commands.h"
 
 //#define DEBUG_MIGRATION
diff --git a/monitor.c b/monitor.c
index e80c1fb..a6a5d4e 100644
--- a/monitor.c
+++ b/monitor.c
@@ -44,7 +44,7 @@
 #include "disas/disas.h"
 #include "balloon.h"
 #include "qemu-timer.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "kvm.h"
 #include "acl.h"
 #include "qapi/qmp/qint.h"
diff --git a/page_cache.c b/page_cache.c
index 0294f7e..ba5640b 100644
--- a/page_cache.c
+++ b/page_cache.c
@@ -24,7 +24,7 @@
 #include <strings.h>
 
 #include "qemu-common.h"
-#include "qemu/page_cache.h"
+#include "migration/page_cache.h"
 
 #ifdef DEBUG_CACHE
 #define DPRINTF(fmt, ...) \
diff --git a/qemu-tool.c b/qemu-tool.c
index 40453fd..d1f4622 100644
--- a/qemu-tool.c
+++ b/qemu-tool.c
@@ -17,7 +17,7 @@
 #include "monitor/monitor.h"
 #include "qemu-timer.h"
 #include "qemu-log.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "main-loop.h"
 #include "sysemu.h"
 #include "qemu_socket.h"
diff --git a/savevm.c b/savevm.c
index 279f005..08f3fed 100644
--- a/savevm.c
+++ b/savevm.c
@@ -77,7 +77,7 @@
 #include "sysemu.h"
 #include "qemu-timer.h"
 #include "audio/audio.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "qemu_socket.h"
 #include "qemu-queue.h"
 #include "qemu-timer.h"
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 3796775..962475d 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -34,7 +34,7 @@
 #include "qapi/qmp/qstring.h"
 #include "qapi/qmp/qjson.h"
 #include "notify.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "monitor/monitor.h"
 #include "hw/hw.h"
 #include "ui/spice-display.h"
diff --git a/vl.c b/vl.c
index b0dc56b..005d585 100644
--- a/vl.c
+++ b/vl.c
@@ -138,10 +138,10 @@ int main(int argc, char **argv)
 #include "cache-utils.h"
 #include "blockdev.h"
 #include "hw/block-common.h"
-#include "block-migration.h"
+#include "migration/block.h"
 #include "dma.h"
 #include "audio/audio.h"
-#include "migration.h"
+#include "migration/migration.h"
 #include "kvm.h"
 #include "qapi/qmp/qjson.h"
 #include "qemu-option.h"
